3

我正在使用带有 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 更可靠时,为什么建议这样做?

4

1 回答 1

1

这是我发现的:

JSONP 在使用 Firefox 时会在屏幕上产生难看的闪烁,并且不适用于 Opera。因此,XHR 更适合旧版 Firefox 和 Opera。

最好的解决方案似乎是在检测到浏览器和版本后在客户端上配置传输。

于 2012-06-04T20:18:28.950 回答