我正在玩websockets,我注意到当我的服务器向客户端发送消息时,消息前面会有一个额外的'[]'字符。这阻止了JS正确解析json。
知道这个角色是什么???
答案 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)
这些是分隔字符以标记开头和结尾。
最佳
拉斐尔