一直做了一個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);