带有node.js的binaryjs的websocket有效负载的开销

时间:2014-01-03 15:16:56

标签: javascript node.js websocket

我已经实现了一个通过websocket发送多媒体内容的应用程序。 我通过使用wireshark分析流量观察到,使用http和websocket发送相同内容的有效负载不同。 对于websocket,有效负载总是比http大6个字节。 (标题明显完全不同,很清楚。)

我在javascript上使用Node.js在服务器上使用模块binaryjs实现了它。

Node.js或binaryjs库在多媒体数据的开头添加5个字节(看起来像0x93 0x02 0xda 0x5e 0xcb),在它的末尾添加1个字节(看起来像0x15)。 知道这个开销可能来自何处?

1 个答案:

答案 0 :(得分:0)

正如robertklep所说,你提到的开销是因为元数据。 binaryjs在序列化/反序列化(或打包/解包)二进制数据时使用的binarypack会添加这些字节。 binarypack使用了大部分messagepack规范并添加了一些额外的。

可能添加这些额外字节的函数是pack_bin,它适用于二进制文件。您可以看到here