WebSocket消息前面的[]字符?

时间:2011-02-02 21:50:15

标签: php javascript json websocket

我正在玩websockets,我注意到当我的服务器向客户端发送消息时,消息前面会有一个额外的'[]'字符。这阻止了JS正确解析json。

知道这个角色是什么???

4 个答案:

答案 0 :(得分:1)

除了客户端和服务器之间类似HTTP的握手之外,每条消息都以'\ x0'开头,以'\ xff'结尾。

在未来的WebSockets协议草案中(超过03/76),框架分隔符已被框架所取代,框架包括前导长度和无尾随特殊字符。

答案 1 :(得分:1)

找到一个解决方案:通过js,只需使用javascript的replace函数 例如,假设msg是websocket.message函数返回的字符串

msg = $.parseJSON(msg.data.replace('\0', ''));

或者,没有jQuery:

msg = JSON.parse(msg.data.replace('\0', ''));

希望有人会觉得这很有帮助。

答案 2 :(得分:1)

你(客户)在你的消息中看到这个\ x00分隔符并不好!

通常你的msg看起来像这个\ x00 MSG \ xFF。 \ x00和\ xFF将在客户端被剪切,因此服务器端一定存在问题...看,你不要把你的两次邮件包裹起来!?

答案 3 :(得分:0)

这些是分隔字符以标记开头和结尾。

最佳

拉​​斐尔