この質問はsocket.ioのバージョン< 0.9.xに関するものです。 新しいバージョンには、さまざまなトランスポートとトランスポートの設定方法があります。node.jsとsocket.io。 websocketのトランスポートタイプの設定
2週間でノードjsとsocket.ioをテストします。私が始めたとき、私はクライアントのsocket.send(message)
機能から問題を取得します。サーバーにメッセージを送信できません。しかし、私はまだサーバーからメッセージを受け取ることができます。私はこの問題をサーバサイドのコンフィグレーショントランスポートが見つかったときに解決しました:
socket.set('transports',[
'xhr-polling'
, 'jsonp-polling'
]);
すべてが良いです。これで、サーバーにもメッセージを送信できます。しかし、なぜ私はトランスポートを構成しなければならないのかという疑問が残っています。このようにデフォルト設定socket.io使用用WebSocket輸送:
socket.set('transports', [
'websocket'
, 'flashsocket'
, 'htmlfile'
, 'xhr-polling'
, 'jsonp-polling'
]);
はそれが最初ではなく、XHRポーリングでのWebSocketを使用しています。しかし、サーバはsocket.send(msg)
でもsocket.emit(...)
を使用しても、クライアントから送信されたメッセージは受信できません。
問題は、ここでWebSocketをサポートしていないのは何ですか?ブラウザやnode.js ...申し訳ありませんが、私はGoogleから非常に多くのページを検索し、私はこれに対する答えを見つけていません。
私はバージョン0.8.16、socket.ioバージョン0.9.13と最新のブラウザNode.jsの使用:クロム、Firefoxの、オペラ
私はないXHRポーリングのWebSocketを使用します。