0

私のプロジェクトでsocket.ioを使用していますが、同じソケットに2つの連続したメッセージを送信するときに問題が発生しているようです。ユーザーが旅館にログインすると、接続されていないときに送信されたすべてのメッセージを送信するという考え方です。これにより、同じメソッドで複数の.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を2回続けて呼び出すだけで、動作を簡単に再現できます。

ああ、ところで。Socket.ioバージョン0.9.6およびNodeJS0.6.17

4

1 に答える 1

0

実際、問題は、html ファイルに追加していなかったようです。Socket.io は Unicode 文字を使用してペイロードを示すため、ASCII エンコーディング (デフォルト) を使用している場合、複数のメッセージを受信できなくなります (これは、ajax ロングポーリングを使用している場合に発生する可能性があります)。

于 2012-05-22T06:02:41.577 に答える