使用 socket.io,端口 843似乎对防火墙等问题的影响最小,因为 flash 使用该端口。
但是,许多网络阻塞了端口 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
}
但我不确定那时我将如何更改连接 url。