Websocket客户端(浏览器)接收到一个零长度的消息-它是什么?

Websocket client (browser) receives a zero-length message - what is it?

本文关键字:消息 它是什么 浏览器 客户端 Websocket 一个      更新时间:2023-09-26

当浏览器内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的消息(可能是一种可怜的人保持生存)。