gpt4 book ai didi

javascript - 尝试膨胀 Websocket 消息时出现 Pako.js 错误, "invalid stored block lengths"

转载 作者:行者123 更新时间:2023-12-01 00:47:18 30 4
gpt4 key购买 nike

我正在尝试使用 JavaScript 来扩充来自第三方 Websocket 的消息,但收到 pako.js

"invalid stored block lengths" error.

我用来实现网络套接字的示例代码可以在这里找到:

https://github.com/okcoin-okex/API-docs-OKEx.com/tree/master/demo

可以在此处找到代码的完整工作版本:

https://github.com/Tucsky/SignificantTrades/blob/master/src/exchanges/okex.js(https://aggr.trade)

我尝试使用 zlib.js 而不是 Pako.js,但在使用该库时遇到了更困难的问题。我尝试过在 stackoverflow 上找到的其他替代解决方案,但它们似乎无法满足我的需要。

这是我正在运行的显示错误的代码。 https://jsfiddle.net/fwkgmvjr/

    let myAPI = new WebSocket('wss://real.okex.com:10442/ws/v3');

//When the connection is first opened
myAPI.onopen = event => {

console.log('Socket opened')
myAPI.send('{"op": "subscribe", "args":["futures/ticker:ETH-USD-190927"]}')
}

myAPI.onmessage = event => {


if (event.data instanceof String) {
console.log(event.data)
} else {

try {
console.log(JSON.parse(pako.inflateRaw(event.data, {
to: 'string'
})))
} catch (err) {
console.log(err)
}
}
}

myAPI.onclose = event => {

console.log('Socket closed')
}

myAPI.onerror = event => {

console.log(`[error] ${error.message}`)
}

我希望来自 websocket 的消息能够以某种方式轻松充气。

最佳答案

解决方案是添加

  this.api.binaryType = 'arraybuffer'

声明 websocket 时。

关于javascript - 尝试膨胀 Websocket 消息时出现 Pako.js 错误, "invalid stored block lengths",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57264517/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com