以下代码段接收websocket消息。它尝试readAsText
blob并将其显示为JPEG。
ws.onmessage = function(message) {
console.log('websocket blob:', message.data);
var text = reader.readAsText(message.data);
img.src = window.URL.createObjectURL(message.data);
console.log("jpeg received");
ctx.drawImage(img, 0, 0);
}
}
reader.onload = function(progressEvent) {
var text = this.result;
if (text.startsWith('{"')) {
console.log("status received", text);
document.querySelectorAll('pre')[0].textContent=text;
}
}
(代码被破坏,因为它试图将纯文本消息显示为JPEG。)
如何区分两种不同类型的传入websocket数据包?我控制着两端,所以我可以根据需要更改NodeJS服务器发送的内容。
我的JSON数据包始终以{"
开头,我的JPEG数据包始终以FF D8 FF
开头。
有没有办法在发送时将一些元数据附加到websocket消息,我可以在页面中查询?
我可以在没有回调方法的情况下对websocket blob进行任何处理吗?