Node.jsとsocket.ioを使用しています。 socket.ioの接続速度に問題があります。 Internet ExplorerおよびOperaで接続速度に問題があります。-flashsocketまたはwebsocketを使用している場合。トランスポートポーリングモードを使用している場合XHR接続が高速です-すべてのブラウザー(IE 、FF、Chrome、Opera)。
XHRポーリングとFlash/WebSocketのトランスポートモードの違いは何ですか?最適な交通手段は何ですか?接続速度を最適化する方法はsocket.ioですか?
アドバイスありがとうございます!
時間の経過に伴う接続の一般的な速度がWebブラウザー間で異なっていたとしても驚きますが、Internet ExplorerとOpera=ネイティブのWebSocketサポートはデフォルトで無効になっているため利用できません。FlashSocketを選択した場合、接続を確立する前に追加のFlashオブジェクト(SWFファイル)をダウンロードする必要があります。
WebSocketはIE10とOpera=で導入されていますが、デフォルトでは無効になっています。
トランスポートモードの違いは何ですか-XHR-pollingとflash/websocket?
最適な交通手段は何ですか?
ネイティブでサポートするWebブラウザー(Chrome、Firefox、Safari)用のWebSocket。 Flashオブジェクト(SWFファイル)がブラウザーのキャッシュにある場合、接続は高速になります。そうでない場合は、遅延が発生します。 XHR Long-Pollingは優れたソリューションであり、ブラウザー間で機能しますが、欠点もあります。
接続速度を最適化する方法はsocket.ioですか?
(私はsocket.ioにかなり新しいですが、これは単なる提案です)
configuring Socket.io docs を見て、接続しているブラウザーに基づいてtransports
を条件付きで設定できるかどうかを確認します。あなたの経験に基づくと、これは次のようになります:
接続の時間を短縮するには、「接続タイムアウト」パラメーターを使用して、接続タイムアウト(デフォルトでは10秒)を短くしてみます。
たとえば、接続タイムアウトを1秒に減らすには:
socket = io.connect('http://your-site.com',{'connect timeout': 1000});