我在php中使用websocket服务器,遇到了一个问题。当websocket片段太长时,它会被分割成几个片段。然而,我在php中找不到一个websocket片段解码器,它可以处理长数据的片段。所以我决定自己实现解码器。我读了websocket协议的RFC,但我仍然不明白fragmentate到底是如何工作的。
以下是问题:
-
当应用fragmentation时,每个片段都有独立的FIN(例如,设置最后一个片段的FIN,而其他片段的FIN为零)和操作码。但是每个片段都有独立的掩码位和掩码键吗?
-
起始片段的有效载荷长度位是代表原始数据,还是仅代表起始片段中的有效载荷,并且fragmentation中的每个片段都有自己的有效载荷长位?
希望你回答!我很困惑。
- 每个片段都应该有独立的掩码位和掩码密钥
- 有效载荷长度应该表示每个片段的有效载荷长度