2012-10-20 13 views

Odpowiedz

8

Socket.IO działa najlepiej z websockets. Przed 2012 r. Większość przeglądarek nie obsługiwała stron internetowych (source).

W przypadku takich przeglądarek plik socket.io powraca do różnych metod odpytywania, ale może to prowadzić do wystąpienia problemów, takich jak mała szybkość przesyłania danych i opóźnione zdarzenia (zwalnianie 1-2 minut z opóźnieniem). Aby temu zaradzić, należy spróbować włączyć gniazda flash.

io.set('transports', [ 
    'websocket' 
    , 'flashsocket' 
    , 'htmlfile' 
    , 'xhr-polling' 
    , 'jsonp-polling' 
]); 

Upewnij się także, że port strategii Flash (domyślnie 10843) jest dostępny z poziomu klienta.

+0

'htmlfile' jest metodą ActiveX dla IE – InspiredJW

+3

Kiedy próbuję tego, obiekt' io' nie ma metody "set". To jest strona klienta, po dodaniu 'socket.io.js' – Khior

+0

Dzięki za to Martin rozwiązałem mój problem z IE9 powodując błąd odczytu ECONNRESET po kliknięciu Odśwież. Teraz poprawnie odpala rozłączenie i natychmiast zabija mojego użytkownika. Khior - Zrobiłem to w moim pliku po stronie serwera, bezpośrednio po wymaganiu socket.io –