mozwebsocket数据包结构

发布于 2024-12-20 13:41:48 字数 526 浏览 2 评论 0原文

什么是 MozWebSocket firefox 二进制消息客户端 ->服务器数据包结构?

发送ArrayBuffer0x01 0x00 0x01)。确实发送了0x88 0x82 0xE7 0xEB 0x20 0x30 0xE4 0x03。前 2 个字节在不同的会话中不会改变(id 大小?)。 例如,这里是 chrome 二进制消息数据包结构 -

0x82 - id

0xYY 1bit - 被屏蔽了吗? 7位 - 数据长度

0xZZ oxZZ oxZZ oxZZ - 4字节掩码

数据(掩码)


注意:Firefox 目前仅支持发送字符串。

好像没有办法使用firefox发送二进制数据?

What is the MozWebSocket firefox binary message client -> server packet structure?

Sending ArrayBuffer (0x01 0x00 0x01). Really sent 0x88 0x82 0xE7 0xEB 0x20 0x30 0xE4 0x03. First 2 bytes doesnt change on different sessions (id size?).
Here is for example chrome binary message packet structure -

0x82 - id

0xYY 1bit - is masked? 7bit - data length

0xZZ oxZZ oxZZ oxZZ - 4 byte mask

data (masked)


Note: Firefox currently only supports sending strings.

Seems like there is no way to send binary data using firefox?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

黑色毁心梦 2024-12-27 13:41:48

目前只有 Chrome 支持发送二进制对象类型。 Firefox 尚不支持发送二进制类型。不过,Mozilla 正在解决该问题,因此 Firefox 版本中应该会提供支持很快。

Only Chrome currently supports sending binary object types. Firefox does not yet support sending binary types. However, Mozilla is working on the issue so there should be support in a Firefox release soon.

陌上青苔 2024-12-27 13:41:48

我相信数据包结构与 Chrome(或任何其他浏览器)的数据包结构相同。查看最新规范的数据框架部分 表明这是一条连接关闭消息:

0x88:前导 8 表明这是消息的最后一个片段。尾随 8 是连接关闭帧的操作码。

0x82:msb 显示消息包含掩码。其余 7 位表示发送的数据长度 - 在本例中为 2 个字节。

0xE7 0xEB 0x20 0x30:用于解码消息的掩码。

0xE4 0x03: 发送的消息 - (0xE4^0xE7) (0x03 ^ 0xEB) [ == 0xE7 0x0C 我认为]

假设您没有关闭客户端连接,您可以检查您的 Firefox 版本是否支持发送二进制文件消息。

I believe the packet structure is identical to Chrome's (or any other browser's). Looking at the data framing section of the latest spec suggests that this is a connection close message:

0x88: The leading 8 shows that this is the final fragment of the message. The trailing 8 is the opcode for a connection close frame.

0x82: The msb shows that the message contains a mask. The remaining 7 bits give the length of data sent - 2 bytes in this case.

0xE7 0xEB 0x20 0x30: The mask used to decode the message.

0xE4 0x03: The message sent - (0xE4^0xE7) (0x03 ^ 0xEB) [ == 0xE7 0x0C I think]

Assuming you aren't closing the connection client side, you could check whether your version of Firefox supports sending binary messages.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文