【发布时间】:2013-06-12 03:36:06
【问题描述】:
现在我一直在努力修复这个错误,但我不知道如何修复它,我已经搜索并找到了解决方案,但它并不完全是问题的解决方案。
每次我在聊天应用程序中“进入房间”时,我都会因“无法将文本帧解码为 UTF-8”而断开连接。
- 我将所有命令发送到 WebSocket 服务器(在 PHP 中作为 json 格式)
我通过 WebSocket (ws://....) 发送的命令是:
{"command": "roomchange", "data" : "14"}
我的 php websocket 服务器处理请求并发送回导致问题的请求:
{"command" : "NEWUSER","data" : { "mood" : "tired", "apartment" : "0","username" : "tester","seat_id" : "7","room_id" : "14","gender" : "male", "face" : "", "hair" : "http://xxx.dk/framework/gfxs/avatars/male/hair/d0fc74a351b05cae75258e93422c040e.png", "shoes" : "http://xxx.dk/framework/gfxs/avatars/male/shoes/00708715be7e7c007fca457eb5573637.png", "clothes" : "http://xxx.dk/framework/gfxs/avatars/male/shirts/9401f96ed9d6ad43c5d5ad7352e50de2.png"}}
也许是这样的:
{"command": "roombg","data" : { "id" : "14", "background" : "new.png", "name" : "Diskotek"}}
当我在 php 中向我的 websocket 服务器发送请求时,我有这个
return unescape( encodeURIComponent( JSON.stringify( COMMAND ) ) )
是不是因为 websocket 发回了 URL?或者是什么问题?
【问题讨论】:
-
我认为您不需要在这里转义或 URI 编码任何内容。使用
JSON.stringify足以将 JSON 对象发送到 WebSocket 服务器。
标签: php javascript sockets websocket