3

Node.js で socket.io を使用しています。Websocket ではすべて正常に動作しますが、IE6 などの古いクライアントをサポートする必要があります。XHR(IE6ではまったく機能しません)とhtmlfile(サーバーからの送信は機能しますが、クライアントからの送信は最初のメッセージでのみ機能します)を使用するのに多くの問題がありました。必死になって、JSONP に切り替えたところ、すべてうまくいきました。

socket.io documentationを見ると、推奨される順序は次のとおりです。

io.set('transports', [
    'websocket'
  , 'flashsocket'
  , 'htmlfile'
  , 'xhr-polling'
  , 'jsonp-polling'
]);

JSONP が htmlfile や xhr-polling よりも信頼性が高いと思われるのに、なぜこれが推奨されるのですか?

4

1 に答える 1

1

これが私が発見したものです:

JSONP は Firefox で画面上に醜いフラッシュを生成し、Opera ではうまく動作しません。そのため、XHR は古い Firefox バージョンと Opera に適しています。

最良の解決策は、ブラウザとバージョンを検出した後にクライアントでトランスポートを構成することです。

于 2012-06-04T20:18:28.950 に答える