我正在使用带有 Node.js 的 socket.io。一切都适用于 websockets,但我必须支持像 IE6 和类似的旧客户端。我在使用 XHR(在 IE6 上根本不起作用)和 htmlfile(从服务器发送有效,但从客户端发送仅适用于第一条消息)时遇到了很多麻烦。绝望了,我改用 JSONP,一切都很好。
查看socket.io 文档,推荐的顺序是:
io.set('transports', [
'websocket'
, 'flashsocket'
, 'htmlfile'
, 'xhr-polling'
, 'jsonp-polling'
]);
当 JSONP 似乎比 htmlfile 和 xhr-polling 更可靠时,为什么建议这样做?