【发布时间】:2021-04-23 11:41:34
【问题描述】:
我正在尝试使用 JS 和 VUE 从 websocket 接收数据,但我遇到了问题:
要接收数据,我正在使用代码:
created() {
console.log('Starting Connection to WebSocket')
this.connection = new WebSocket('ws://127.0.0.1:8080/live')
// this.connection = new WebSocket('ws://echo.websocket.org')
this.connection.onopen = function (event) {
console.log(event)
console.log('Success')
}
this.connection.onmessage = webSocketOnMSG
},
并尝试解析 blob:
function webSocketOnMSG(msg) {
if (typeof (msg.data) === 'string') {
jsonMSG(msg.data)
return
}
bytes = new Uint8Array(msg.data)
console.log('!!!BYTE', bytes)
type = bytes[0]
switch (type) {
}
}
和console.log('!!!BYTE', bytes)
显示:
Blob {size: 187086, type: ""}
但应该是:
ArrayBuffer(187086)
因此type 是未定义的。
但我有其他(清晰的 js 版本)不是 VUE,它工作正常。
你能帮我吗,怎么了?
【问题讨论】:
-
在您的代码中,您混合了
this.msg和msg。它是哪一个?此外,代码中似乎有几个从未声明过的变量。 -
"和
console.log('!!!BYTE', bytes)显示:Blob {size: 187086, type: ""}" 恕我直言,我觉得这很难相信。new Uint8Array的返回值是 neverBlob。
标签: javascript vue.js websocket