Jak sprawdzić, czy klient może połączyć przez port 843?

głosy
3

Korzystanie socket.io, portu 843 wydaje się dawać najmniejszego problemu z zaporami i takie, ponieważ lampa korzysta z tego portu.

Jednak wiele sieci blokuje portu 843 , więc nie może się połączyć w ogóle.

Mam równoważenia obciążenia, które mogą skonfigurować przekierowanie ruchu HTTP z portu 80 do 843 więc tych takich ludzi, ale moim problemem jest to, że nie mogę myśleć o tym, jak sprawdzić, czy ktoś ma portu 843 zablokowany czy nie.

Jakieś pomysły?

Albo czy mogę zmienić socket.io za XHR sposób, aby zawsze używać alternatywnego adresu URL połączenia, które będzie prawdopodobnie najbardziej idealny. Jestem bardziej zmęczony prowadzenia jakichkolwiek badań, który ma limit czasu, ponieważ opóźnia połączenia więcej. Byłoby idealnie, aby coś zmienić po czasach próba połączenia websocket zewnątrz.

Co mam na myśli to ..

var socket = io.connect('http://example.com:843', {'connect timeout':5000}); 

socket.on('connect_failed', function(){
    // change socket to connect to port 80
}

ale nie jestem pewien, jak bym zmienić connect url w tym punkcie.

Utwórz 20/09/2012 o 17:35
użytkownik
W innych językach...                            


1 odpowiedzi

głosy
0

Nie testowane, ale nie będzie ponownie zainicjować gniazdo do portu 80 prac?

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});
}
Odpowiedział 20/09/2012 o 18:02
źródło użytkownik

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more