使用socket.io,端口843 似乎提供防火墙等问题,因为闪存使用该端口。
但是,许多网络会阻止端口843 ,因此根本无法连接。
我设置了负载均衡器,可以将http流量从端口80 重定向到 843 以便那些人,但我的问题是我无法想到如何测试是否有人阻止端口 843 。
有什么想法吗?
或者,如果我可以更改socket.io的 XHR 方法以始终使用备用连接URL,那么这可能是最理想的。我更加厌倦做任何超时的测试,因为这会延迟连接。在websocket连接尝试超时后更改内容是理想的。
我在想的是......
var socket = io.connect('http://example.com:843', {'connect timeout':5000});
socket.on('connect_failed', function(){
// change socket to connect to port 80
}
但我不确定如何更改连接网址。
答案 0 :(得分:0)
未测试但是不会重新初始化socket到端口80的工作?
var socket = io.connect('http://example.com:843', {'connect timeout':5000});
socket.on('connect_failed', function(){
// change socket to connect to port 80
socket = io.connect('http://example.com:80', {'connect timeout':5000});
}