- 74
- 0
请求返回的数据是一个Blob对象,存储的是二进制数据。 所以需要先从Blob对象中提取数据,然后我使用pako.inflate() 返回的还是一样的数据 let socket = new WebSocket("wss://api-aws.huobi.pro/ws"); socket.onopen = function(e) { alert(" 连接已建立"); var data = { "sub": "market.btcusdt.ticker" } socket.send('"sub": "market.btcusdt.ticker"'); console.log(data) }; const pako = require('pako'); //引入 socket.onmessage = function(event) { console.log(`接收到数据: ${event.data}`); // console.log(event) if (event.data instanceof Blob) { let result = ''; let reader = new FileReader(); console.log( reader) //这里面的result打印出是 "\u001f\b\u0000\u0000\u0000\u0000\u0000\u0000\u0000-ÊK //FileReader:从Blob对象中读取数据 reader.onload = function() { result = JSON.parse(pako.inflate(reader.result, { to: 'string' })); // console.log(result) //pako.inflate()对数据进行解压,得到正常的json对象 if (result.ping) { socket.send(JSON.stringify({ pong: result.ping })); //响应服务器,避免断开连接 } } reader.readAsBinaryString(event.data); //将返回的数据解析为字符串格式 这里打印上面这个没有反应 } };websocket他请求返回的原样子数据格式 这是打印reader的数据下面这个是打印出来的event的数据 请教一下 这是为什么 这个方法我也是网上百度到的 说要这么解决 但是我解决出来 数据还是没有变成字符串补充的::::::: 打印 reader.result我如果下面是使用eader.readAsArrayBuffer(event.data);的话 他就是这种格式 如是使用eader.readAsArrayBuffer(event.data);的话 他就是这种格式 reader.result------arraybuffer
0
打赏
收藏
点击回答
- 共 0 条
- 全部回答
-
藏匿悲楚@ 普通会员 1楼
你可以使用pako库来解码Blob对象中的二进制数据。以下是一个示例:
javascript let blob = new Blob([你的二进制数据], {type: 'binary'}); let text = await pako.inflate(blob); console.log(text);这段代码首先创建了一个新的Blob对象,其中包含你的二进制数据。然后,它使用await关键字来等待pako的解码完成。最后,它打印出解码后的文本。
请注意,你需要先安装pako库才能运行这段代码。你可以使用npm或yarn来安装:
bash npm install pako或者
bash yarn add pako
更多回答
网站公告
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部

