问题标签 [protocols]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
10 回答
2521 浏览

hex - 任何用于将十六进制转储转换为人类可读形式的通用实用程序或库?

我经常与各种设备进行串行通信,因此我经常需要分析日志文件中的十六进制转储。目前,我通过查看转储、查看协议规范并写下结果来手动执行此操作。然而,这是乏味且容易出错的,尤其是当消息包含数百个字节并且包含大端和小端数据、ASCII、Unicode、压缩、CRC、. . . .

我编写了一些 Python 脚本来帮助处理更常见的情况。但是有很多协议要处理,花时间编写自定义脚本是没有意义的,除非我知道我会有很多转储要分析。

我想要的是某种可以自动执行此活动的实用程序。因此,例如,如果我有这样的文本十六进制转储:

以及消息格式的某种描述,如下所示:

我会得到这样的输出:

基于硬件的协议分析器通常具有执行此类操作的精美功能,但我需要使用文本日志文件。

是否存在任何此类实用程序或库?


自从我设置赏金以来,已经出现了一些好的答案。我猜赏金工作!

Wireshark 和 HexEdit 看起来都很有前途;我会看看那些,并且可能会将赏金奖励给适合我需要的人。但我仍然对其他想法持开放态度。

0 投票
7 回答
20675 浏览

ajax - 与 POST 请求相比,使用 GET 请求有什么优势?

过去我的几个 ajax 应用程序使用 GET 请求,但现在我开始使用 POST 请求。POST 请求似乎更安全一些,而且绝对更友好/漂亮。因此,我想知道是否有任何理由我应该使用 GET 请求。

0 投票
1 回答
810 浏览

java - Object(Output|Input)Stream二进制协议

我想知道是否有人有一些资源来描述ObjectOutputStream. 我当然意识到对象本身可以通过实现Externalizable接口来指定它们的数据,所以我想我更多地关注对象图的结构——如果你愿意的话,元数据。

我正在编写一个必须与遗留 Java 程序对话的 C 程序。我无法更改这些要求中的任何一个,因此我发现自己对ObjectOutputStream协议进行了逆向工程。(有一个服务器使用 HTTP 进行传输并返回 Object*Stream 作为 HTTP 响应。)

但是,我觉得那里的其他人必须以前做过这项工作。你能指出任何资源来加快我的工作吗?

0 投票
5 回答
784 浏览

ftp - 文件传输协议选项?

我正在寻找一种将非平凡(10G > x >10MB)数据从一台机器传输到另一台机器的好方法,可能通过多个会话。

我已经简要地看了

  • *ftp (sftp, tftp, ftp)
  • http
  • 种子(因为我一般不会有种子网络)
  • rsync(不确定我是否真的可以适应我的需要)

是否有任何其他协议可能更适合该法案?上面的大多数本身都不是非常容错的,而是依靠客户端/服务器应用程序来弥补缺陷。在这个阶段,我更关心协议本身,而不是运行良好的特定客户端/服务器实现。

(是的,我知道我可以通过 udp 自己编写,但我更喜欢其他任何东西!!)

0 投票
3 回答
2529 浏览

algorithm - 具有相同输出的伪随机发生器

我在http://auto.howstuffworks.com/remote-entry2.htm看到一篇关于汽车远程进入系统的文章。在第三个项目符号中,作者说,

发射器和接收器都使用相同的伪随机数发生器。当发送器发送一个 40 位代码时,它会使用伪随机数生成器选择一个新代码,并将其存储在内存中。另一方面,当接收器接收到有效代码时,它会使用相同的伪随机数生成器来选择一个新代码。这样,发射器和接收器就同步了。接收器只有在收到它期望的代码时才会打开门。

是否可以让两个 PRNG 函数同时产生相同的随机数?

0 投票
4 回答
1743 浏览

design-patterns - 实现协议的最佳方式是什么?

假设您正在编写一个必须实现 HTTP 协议的应用程序。协议非常复杂,并且可能允许多个命令,具体取决于它们处于事务的哪个阶段。

例如,看一下 SMTP。如果在接收“rcpt”和“mail”之前发送“data”命令,SMTP 服务器必须抛出错误。

我的问题是:在代码中处理此类协议的最佳方法是什么?有没有与此相关的设计模式?

编辑:这个问题与实现协议背后的理论有关。我知道使用库是实践中最好的方法。

0 投票
11 回答
4653 浏览

algorithm - 什么是最好的低技术协议来模拟从帽子里抽出名字并确保保密?

每年感恩节,我的家人都会从帽子中抽出名字来确定他们将成为圣诞礼物交换的“秘密圣诞老人”。对我们的家庭文化来说,重要的是家庭中没有其他人知道彼此是谁,以保持有趣。选择的唯一规则是你不能选择你的配偶。如果发生这种情况,您将再次抽奖并将您配偶的名字放回帽子中。

由于今年的物流和旅行计划,我们提前庆祝圣诞节(感恩节后仅两周)。

为了有足够的时间寻找礼物,我们现在想选择名字。我们的家庭分布在美国各地。有些成员可以访问互联网,有些则不能(例如我亲爱的奶奶)。

我想做的是有一个公平的协议来模拟从帽子中抽出名字,并确保一定程度的保密性而不会过于复杂。一些网站,如以前的drawnames.com或其他类似网站,通常要求人们输入他们的电子邮件地址。我想绝对确保我家人的电子邮件地址不会被滥用,因此我不想将它们信任到另一个站点。

我能想到的最好的协议是:

  1. 编写一个随机挑选人员并确保人们不会得到配偶的程序。
  2. 该程序将向我显示列表的一半,但不会显示谁得到了我的名字,但会显示我有谁的名字以及得到我妻子名字的人。
  3. 然后,我将离开房间,程序将向我的妻子显示另一半的人员列表(其中将包括谁有我的名字)。
  4. 然后我和妻子会联系每个人,告诉他们他们有谁。

我错过了更好的协议吗?更好,我的意思是允许更多保密的东西。再次,由于物流和保持简单,我不想建立一个网站。

0 投票
8 回答
19557 浏览

networking - 设计应用协议

我有一个现有的独立应用程序,它将由第三方使用网络协议进行扩展。这些功能已经实现,我所需要的只是将它们暴露给外部。

假设已经选择了传输协议 (UDP),是否有任何资源可以帮助我设计我的应用程序协议?

似乎有很多关于软件设计的信息,但没有关于协议设计的信息。我已经看过Application Protocol Design

0 投票
2 回答
7995 浏览

python - 在扭曲协议中定期运行函数

我正在寻找一种方法来定期通过连接到 TCP 端口的所有客户端发送一些数据。我在看twisted python,我知道reactor.callLater。但是如何使用它定期向所有连接的客户端发送一些数据?数据发送逻辑在协议类中,由reactor根据需要进行实例化。我不知道如何将它从反应堆绑定到所有协议实例......

0 投票
1 回答
5634 浏览

sql-server - ODBC、OLEDB 和 ADO.NET 的底层协议是否存在差异

使用典型系统之一 ODBC、OLEDB 或 ADO.NET 与 SQL Server 数据库通信时,底层基本协议是否相同?这些系统之间的所有差异基本上只是客户端问题吗?

这只是 TDS(表格数据流)传输的不同风格吗?

[MS-TDS]:表格数据流协议规范

还是有实际不同的方式与数据库服务器通信,并且这些协议之间存在根本区别?