当浏览器内websocket对象接收到消息数据长度等于0的onmessage事件时,这意味着什么?
我特别使用Safari作为websocket客户端(Hixie)。客户端代码没有什么特别的。
<>之前socket = new WebSocket(host);套接字。Onmessage = function(msg){日志("收到:"+ msg.data.length);如果(msg.data。长度> 0)…处理};之前服务器是基于PHP的,消息发送没有错误
我认为这只是一个Safari烦恼。当前发布的Safari版本实现了较旧的WebSockets协议版本,并且实现工作正常,但有一点不足。0长度消息的问题是相当温和的。一个更严重的问题是无法正确关闭连接(基本上不会关闭实际的套接字,直到页面被重新加载)。
用最新的Chrome浏览器进行相同的测试。如果你没有看到问题,那么这只是Safari浏览器的问题。如果您仍然看到长度为0的消息,那么很可能PHP websocket服务器正在发送长度为0的消息(可能是一种可怜的人保持生存)。