【发布时间】:2013-10-09 08:33:05
【问题描述】:
我正在使用 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'
]);
});
【问题讨论】:
-
您的路由器是否在路由器设置页面中启用了 DynamicNAT/LRU 或 NAT 过滤?
-
@PubNub 如何在 CentOS 中检查路由器设置? iptables?
-
可能不是设置参数,因为您必须了解一般硬件限制。