Ich benutze Websockets in Javascript, um eine Verbindung zu einer API herzustellen und einige Daten zu lesen. Hierwebsockets Unterschied zwischen ws.on und ws.onmessage
ist der Code:
function processHUOBIAPI(client,exchange_name,exchange_wss,exchange_symbol)
{
// Define constants
const WebSocket = require('ws');
const pako = require('pako');
// Open connection once one is established
var wss = new WebSocket(exchange_wss);
wss.onopen =() =>
{
// Send request to subscribe
var symbol = exchange_symbol.toLowerCase()
wss.send(JSON.stringify(
{
"sub": "market." + symbol + ".kline.1min",
"id": symbol
}
));
};
// Parse channel information and send to Redis
wss.onmessage = (data) =>
{
//typedef data;
console.log("Receive message", data);
let text = pako.inflate(data, {
to: 'string'
});
mssg = JSON.parse(text);
if (mssg.ping) {
wss.send(JSON.stringify({
pong: mssg.ping
}));
} else if (mssg.tick) {
console.log(mssg);
//handle(msg);
} else {
console.log(text);
}
}
In diesem Fall habe ich einen Fehler:
..../node_modules/pako/lib/inflate.js: 384 if (inflator.err) {inflator.msg || werfen msg [Luftpumpe.err]; }^ unbekannte Komprimierungsverfahren
Wenn I "wss.onmessage = (Daten) =>" zu "wss.on ('Nachricht', (Daten) => {" entfernen und die Änderung extra ')' der Code funktioniert einwandfrei.
Was ist der Unterschied zwischen wss.on und wss.onmessage?
Neuling zu diesem einen so schätzen jede Führung. Entschuldigung im Voraus, wenn dies ein dummer ist ....