2012-01-02 1 views
18

Il socket.io ha una modalità di debug lato client in cui è possibile visualizzare letteralmente tutto ciò che il server ha inviato a voi?Debug del client Socket.io?

Ora è ottenere lo stesso effetto con il seguente codice:

socket.on('HELLO', function(arg1, arg2) { console.log('HELLO', arg1, arg2) ... 
socket.on('WORLD', function(arg1) { console.log('WORLD', arg1) ... 

sarebbe davvero conveniente se posso fare questo facilmente senza mettere console.log ovunque.

risposta

7

Si può vedere facilmente in ispettore web di un browser webkit (Chrome, Safari, cromo) Per fare questo

  • fate clic destro sulla pagina
  • Vai a ispezionare elemento
  • Cliccare sulla scheda di rete
  • Ricarica la pagina con la scheda di rete aperta.
  • È possibile visualizzare tutte le risorse con http get request e le loro risposte caricate.
  • Trova la prima richiesta al server socket.io.
  • Ciò restituirà un elenco di trasporti di messaggi disponibili.
  • Il client Socket.io preleverà il primo trasporto disponibile. (Websockets se supportato dal browser)
  • Ora nella seconda richiesta vedrete tutte le risposte tornare in una scheda 'frame'.

Reference image for web inspector

2

Dalla versione 1.0 di Socket.io è possibile impostare la proprietà "debug" nella vostra localStorage a "*". Quindi otterrai tutti i log del cliente. Puoi anche filtrare, perché usa https://github.com/visionmedia/debug sotto il cofano. E 'tutto ben documentato qui: http://socket.io/docs/logging-and-debugging/

+2

la documentazione non è buona. Se vuoi vedere solo quelle linee con nuovi dati provenienti dal socket, imposta il flag di debug su "socket.io-client: socket". Spero che questo possa essere d'aiuto come esempio di filtri (citato in documenti senza esempio). –

14

incollare questo alla console, fare clic entrare e aggiornare la pagina:

localStorage.debug = '*'; 

di ottenere solo informazioni di debug con dati in entrata dalla presa, incollare questo invece:

localStorage.debug = 'socket.io-client:socket';