Websocket のパフォーマンス テストで K6 を使用しました。サーバーからのコンテンツが圧縮されている間、「�0E�e�!�56�j0&�v!�{�:�9�^�」がコンソールに出力されました。nodejs コードを使用して、サーバーからの同じメッセージを処理しました。正しいテキストを取得しました。
私の質問は、K6 で圧縮されたテキストをデコードする方法ですか?
私のK6スクリプトは
socket.on('message', function (data) {
console.log(typeof (data));
console.log(data.length)
if (data.length < 200) {
// I got "�0E�e�!�56���j0&��v!�{�:�9�^�" in console
console.log(data);
}
// I tried to decode it got "incorrect header check"
let text = pako.inflate(data, { to: 'string' });
}
次の JS スクリプトを使用すると、適切なテキストをプレーン テキストに膨らませることができました。
ws.on('message', function (data) {
console.log('-------- begin -------');
// I got <Buffer 1f 8b 08 00 00 00 00 00 00 00 2d 8b 4b 0a 80 20 14 45 f7 72 c7 21 f9 1b e4 6e 34 1f 14 12 49 5e 47 d1 de 33 68 7a 3e 37 f6 8c 80 c4 b5 b7 4c 4c 68 3d in console
console.log(data);
console.log('-------- end -------');
let text = pako.inflate(data, {
to: 'string'
});
// msg is " msg: {"id":"btcusdt","subbed":"market.btcusdt.depth.step0","ts":1525243319443,"status":"ok"} "
console.log('msg: ' + text);
})