3
使用socket.io,端口843似乎給防火牆等問題最少,因爲閃存使用該端口。如何檢查客戶端是否可以通過端口843連接?
但是,許多網絡阻止端口843,所以它們根本無法連接。
我有一個負載均衡器設置,可以從端口重定向HTTP流量80到所以那些這樣的人,但我的問題是,我想不出如何測試是否有人端口被封鎖與否。
任何想法?
或者,如果我可以更改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。
這正是我最終嘗試的。我無法分辨目前它的實際運作情況。有些人仍然說有問題。另外,對於某些人來說,端口80方法可能是因爲它正在通過負載平衡器進行XHR輪詢,因此會斷開很多連接。它始終連接到:843用於websockets和80用於xhr是理想的。 – sadtaco
@sadtaco你必須在本地進行測試,以查看它是否正常工作。嘗試用虛擬盒複製您的生產設置...這是您實際能夠測試,調試和部署A級軟件的唯一方法... – Frankie