IE和Socket.io的兼容性

时间:2012-10-20 23:51:12

标签: internet-explorer node.js socket.io opera

我在这里做了一些聊天示例:http://psitsmike.com/2011/09/node-js-and-socket-io-chat-tutorial/

当我使用Chrome和Firefox时,一切都像魅力一样。对于IE9或Opera,一些socket.io事件没有触发(例如断开连接)或触发太晚,并且数据接收太慢。

我使用npm方法安装了node.js和socket.io模块。

请帮忙。

1 个答案:

答案 0 :(得分:8)

Socket.IO最适合使用websockets。在2012年之前,大多数浏览器都不支持websockets(source)。

使用这样的浏览器,socket.io会回退到各种轮询方法,但这些可能会导致您遇到的问题,例如低数据速率和延迟事件(迟到1-2分钟)。要解决此问题,您应该尝试启用闪存套接字。

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

此外,请确保可以从客户端访问闪存策略端口(默认为10843)。