Dunaevlad
@Dunaevlad

Как декодировать ответ сокета?

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
  <script src="pako.js"></script>
</head>

<body>

</body>
<script>
  let socket = new WebSocket("wss://wss.winline.ru/data_ng?client=site");
  socket.binaryType = "blob";

  socket.onopen = function (e) {
    console.log("[open] Connection established");
    console.log("Sending to server msg");
    socket.send("lang");
    socket.send("AQ==");
    socket.send("data");
    socket.send("WINLINE");
    socket.send("getdate");
  };

  socket.onmessage = function (event) {
    // pako.ungzip(event.data, { to: 'string' });
    console.log(`[message] Data received from server: ${event.data.toString()}`);
    if (event.data instanceof Blob) {
      reader = new FileReader();

      reader.onload = () => {
        console.log("Result: " + reader.result);
      };

      reader.readAsText(event.data);
    } else {
      console.log("Result: " + event.data);
    }
  };

  socket.onclose = function (event) {
    if (event.wasClean) {
      console.log(`[close] Connection closed cleanly, code=${event.code} reason=${event.reason}`);
    } else {
      // e.g. server process killed or network down
      // event.code is usually 1006 in this case
      console.log('[close] Connection died');
    }
  };

  socket.onerror = function (error) {
    console.log(`[error]`);
  };
</script>
</html>


Пробовал с pako.ungzip(event.data, { to: 'string' });, мне выдает ошибку, Uncaught unknown compression method
  • Вопрос задан
  • 62 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы