2012-10-20 21 views

risposta

8

Socket.IO funziona meglio con websockets. Prima del 2012, la maggior parte dei browser non supportava i websocket (source).

Con tali browser, socket.io ricade su vari metodi di polling, ma questi possono portare a problemi che si verificano, come bassa velocità di trasmissione dati e eventi ritardati (attivazione 1-2 minuti in ritardo). Per ovviare a questo, dovresti provare a abilitare le prese flash.

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

Inoltre, assicurarsi che la porta della politica flash (impostazione predefinita 10843) è raggiungibile dal client.

+0

'htmlfile' è un modo ActiveX per IE – InspiredJW

+3

Quando provo, l'oggetto' io' non ha un metodo ''set''. Questo è lato client, dopo aver incluso 'socket.io.js' – Khior

+0

Grazie per questo Martin, risolto il mio problema con IE9 causando un errore di lettura ECONNRESET al clic su Aggiorna. Ora spara correttamente la disconnessione e uccide immediatamente il mio utente. Khior - Ho fatto questo nel mio file lato server, direttamente dopo aver richiesto socket.io –