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 よりも信頼性が高いと思われるのに、なぜこれが推奨されるのですか?