在下面的 javascript 中,我通过 websocket 发送最多 200 个字节(在连接和握手之后):
buf= new Uint8Array(200);
/* filling buf with data*/
ws.send(buf.buffer);
在另一边有一个简单的 iocp c++ 服务器,它接收这 200 个字节,前面是几个字节的 websocket 帧。
我可以假设浏览器总是一次性发送这 200 个字节(+ websocket 头)吗? 或者我应该始终在服务器端检查这是否是最终帧(通过检查 websocket 头中的第一位)?
提前感谢您的提示。
最佳答案
您应该始终检查 FIN 位,根据 RFC6455,浏览器完全有可能拆分有效负载(取决于网络套接字框架的某些上限)。
关于javascript - 浏览器能否将有效负载数据拆分为多个 websocket 帧?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22273929/