一直做了一个websocket的项目,,接的是第三方接口,第三方接口有一个node案例,案例中,通过websocket返回的数据是直接是buffer对象,然后通过第三方库pako,进行解压。
但是在客户端,返回的数据是blob二进制数据,那么怎么将它向客户端进行解压呢?
最后通过 renderer 对象成功解决:
var render = new FileReader();
render.onloadend = function () {
var ms = pako.inflate(render.result, {
to: 'string'
});
var msg = JSON.parse(ms);
if (msg.ping) {
that.websocket.send(JSON.stringify({
pong: msg.ping
}));
} else if (msg.tick) {
var attr = msg.ch.split(".")[1];
document.querySelector("." + that.name + attr).innerHTML = parseFloat(msg.tick.close);
}
};
render.readAsBinaryString(e.data);