/ / Come analizzare i dati binari da websocket? - javascript, php, websocket

Come analizzare i dati binari da Websockets? - javascript, php, websocket

Sto cercando di analizzare i frame da Websockets. L'ho fatto con Fiddler, che mi mostra i dati binari dal frame. Ho bisogno dello stesso risultato, ma ho bisogno di farlo tramite Javascript o Php (o qualsiasi altra lingua). Ho provato a farlo con Js

var a = new WebSocket("ws://example.com");
a.onopen = function()
{
console.log("open");
a.send("test");
var b = new Uint8Array([8,6,7,5,3,0,9]);
a.send(b.buffer); };
a.onmessage = function(e) {  console.log(e.data.toString());};
a.onclose = function() { console.log("closed");};

Ma non ho ricevuto alcun dato su "a.onmessage". In questo momento mi sono bloccato. Per chiarire la mia domanda ancora una volta. Ho bisogno di un semplice esempio di codice che analizza i frame da websocket. Esempio di ciò che sto cercando di analizzare

Grazie!

risposte:

0 per risposta № 1

utilizzando DataView:

var socket = new WebSocket("ws://127.0.0.1:8081");
socket.binaryType = "arraybuffer";

socket.onmessage = function (e) {
var data = e.data;
var dv = new DataView(data);

// reads an UInt16 at the beginning
var uint16= dv.getUint16(0);

// reads next UInt16 (sets 2 bytes of offset, since previous UInt16 takes 2 bytes)
var another_uint16= dv.getUint16(0);
};