1

我正在使用 Nodejs 和 Socket.io 运行聊天服务器,在某些浏览器中一切正常并使用本机 websockets。

但在某些情况下,它使用xhr-polling有问题。

萤火虫输出:

GET http://{domain}:8080/socket.io/1/?t={time}
GET http://{domain}:8080/socket.io/1/xhr-polling/X_mBol8OqjbULLXozLc?t={time} 200 OK 2m
Error: The connection to ws://{domain}:8080/socket.io/1/websocket/dsEWQdsaDWQEcHTR was interrupted while the page was loading
...yep.name="flashsocket",c.prototype.open=function(){var a=this, c=arguments; return...
GET http://{domain}:8080/socket.io/1/xhr-polling/X_mBol8OqjbULLXozLc?t={time} 200 OK 20s
GET http://{domain}:8080/socket.io/1/xhr-polling/X_mBol8OqjbULLXozLc?t={time} 200 OK 20s

萤火虫截图:http ://tinypic.com/view.php?pic=23r5pvb&s=5

客户资料:

  • 没有防病毒和代理应用程序正在运行
  • 客户正在使用现代 Bowser
  • 我正在使用这段代码来配置 socket.io

socket.io 配置:

io.configure(function(){
    io.enable('browser client minification');
    io.enable('browser client etag');
    io.enable('browser client gzip');
    io.set('transports', [
        'websocket'
        , 'flashsocket'
        , 'htmlfile'
        , 'xhr-polling'
        , 'jsonp-polling'
    ]);
});
4

1 回答 1

0

与 ws ://{domain}:8080/socket.io/1/websocket/dsEWQdsaDWQEcHTR的连接在页面加载时中断

这是解决问题的关键,我认为它失败回到 xhr-polling 因为通过 ws 连接时出错。

于 2013-10-04T22:37:37.350 回答