如何检查客户端是否可以通过端口843连接?

时间:2012-09-20 18:35:23

标签: javascript socket.io

使用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
}

但我不确定如何更改连接网址。

1 个答案:

答案 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});
}