Socket.io无法发送两条连续的消息?

时间:2012-05-21 20:33:31

标签: javascript node.js socket.io

我正在使用socket.io作为我的一个项目,我似乎在将两个连续的消息发送到同一个套接字时遇到了麻烦。这个想法是,当用户登录inn时,我向他发送他未连接时发送给他的所有消息,这可能导致同一方法中的几个.emit调用。但是,客户端似乎没有收到这些消息,或者至少不明白他已收到这些消息...然后单独发送消息可以正常工作......

这是服务器控制台的输出:

debug: xhr-polling writing �104�5:::
{"name":"friend_request","args":
[{"_id":"4fb040147185a2e21f000002","email":"made_up@gmail.com"}]}�201�6:::6+
[{"_id":"4fb91f732f869a6f16000004","socketId":"12602175611929481375","email":"casablanca@gmail.com",
"friends":[],"recentOpponents":[],"games":[]}]

这是socket.io中的错误还是我做错了什么?只需连续两次调用.emit即可轻松复制该行为......

哦,顺便说一下。 Socket.io版本0.9.6和NodeJS 0.6.17

1 个答案:

答案 0 :(得分:0)

实际上,问题似乎是我没有添加到我的html文件中。 Socket.io使用unicode字符来表示有效负载,因此如果您使用ASCII编码(默认),这将使您无法接收多条消息(使用ajax长轮询时可能会发生这种情况)。