2016-07-26 13 views
0

Server:socket.io Frames Daten nicht lesbar in Chrom devtools

function startServer() { 
    const io = new Server().attach(8090); 

    io.on('connection', (socket) => { 
    console.log("connection on server"); 
    socket.emit('test','test data'); 
    }); 
} 

Auftraggeber:

const socket = io(`${location.protocol}//${location.hostname}:8090`); 
socket.on('test', (data) => { 
    console.log(data); 
}) 

Dann:

  • ich starten Sie den Server
  • ich den Client Code

Logausgabe Server:

connection on server 

Client-Konsole Ausgabe:

test data 

sieht also alles gut, aber wenn ich das WebSocket-Panel auf Chrom devtools öffnen sehe ich diese: dev tools output

Ich kann die Websocket-Daten in den Frames nicht finden: nur die "Sonde" und Zahlen.

Wie kann ich Frames Daten sehen?

https://www.websocket.org/echo.html Verwendung von I perfekt kann Daten in dem Rahmen lesen: websocket echo WS devtool panel

Antwort

1

Die 2probe und Zufallszahlen Sie im Bedienfeld Frames sehen, ist der Pakettyp, gefolgt von einem Ping/Pong zwischen Client und Server. Sie können die Details here lesen.

Sie können Daten nur im Fenster "Frames" anzeigen, wenn Sie Nachrichten vom Server ausstrahlen, die sind. In Ihrem Fall senden Sie eine Nachricht mit Daten an den verbundenen Client und behandeln ihn in einem Callback. Wenn Sie sowohl sich selbst und alle anderen Kunden wollen die Daten zu sehen, verwenden Sie:

io.sockets.emit('test', 'test data'); 

Wenn zwei Client-Verbindungen zum Server hergestellt werden, werden beide erhalten test data, wenn das Ereignis mit dem test Ereignis auf dem Client verarbeitet wird . Wenn der zweite Client eine Verbindung herstellt, wird die Nachricht im Fenster "Frames" angezeigt. Sie sehen es nicht für Ihre eigene Verbindung.

Wenn Sie nur wollen zu allen anderen Client die Nachricht senden, aber nicht selbst verwenden:

socket.broadcast.emit('test','test data'); 

Sie können mehr Informationen in chrome://net-internals/ finden Sie in den Daten, die gesendet werden, wenn es nicht der Fall ist zeigen Sie den tatsächlichen Textinhalt, es sei denn, Sie haben ein Netzwerk-Sniffing-Tool wie Wireshark oder Fiddler.

net internals