Websocket协议续帧

11

我正在尝试理解WebSocket协议https://www.rfc-editor.org/rfc/rfc6455

但是不理解什么是继续帧。如果我正在制作一个WebSocket客户端,何时可以预计服务器会发送这个帧?在什么情况下我会想要发送它?上述参考资料对继续帧的信息或作用以及客户端(或服务器)如何处理它都提供了很少的信息。
来自协议规范:

操作码:4位

  Defines the interpretation of the "Payload data".  If an unknown
  opcode is received, the receiving endpoint MUST _Fail the
  WebSocket Connection_.  The following values are defined.

  *  %x0 denotes a continuation frame

这是关于续帧的仅有的三个参考之一,但它并没有为我提供太多线索。

那么我应该忽略任何具有此操作码的帧吗?

1个回答

11

不,您不能忽略连续帧。如果您不实现它们,则您的WebSocket实现将不符合RFC6455。连续帧用于 分段 WebSocket消息。除第一个帧外,所有帧均称为连续帧。除第一个和最后一个外,所有帧均称为非最终连续帧。


1
但这不是 (缺少) FIN 位的作用吗?啊,现在我明白了。RFC 在描述如何处理分段时,当谈到连续帧时,厚颜无耻地说“并将操作码设置为0”。它没有在那里使用“连续帧”一词,这很令人困惑。 - tml

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接