我制作了一个类似这里的聊天示例:http://psitsmike.com/2011/09/node-js-and-socket-io-chat-tutorial/
在Chrome和Firefox中,一切都很顺利。但是在IE9或Opera中,一些socket.io事件无法触发(例如disconnect),或者触发得太晚,数据接收得太慢。
我使用npm方法安装了node.js和socket.io模块。请帮忙解决。
我使用npm方法安装了node.js和socket.io模块。请帮忙解决。
Socket.IO最适合使用WebSockets。在2012年之前,大多数浏览器都不支持WebSockets (来源)。
对于这样的浏览器,socket.io会退回到各种轮询方法,但这可能会导致您遇到的问题,例如低数据传输速率和延迟事件(1-2分钟后才触发)。为了解决这个问题,您可以尝试启用Flash Sockets。
io.set('transports', [
'websocket'
, 'flashsocket'
, 'htmlfile'
, 'xhr-polling'
, 'jsonp-polling'
]);
同时,请确保客户端能够访问Flash策略文件的端口(默认为10843)。
io
对象没有'set
'方法。这是在客户端,在包含socket.io.js
之后。 - Khior