Данные, полученные с сервера: InvalidJSON

#javascript #json

#javascript #json

Вопрос:

Я пытаюсь запустить следующий скрипт; однако я получаю; [message] Data recieved from server: {"error":"jsoninvalid","type":"error","value":"ping"} Я пытаюсь получить следующий вывод ( https://casinocoin.org/build/casinocoin-api-tool.html#ping ) есть ли что-то, что я делаю неправильно?

Спасибо

 <script>
let socket = new WebSocket("wss://ws01.casinocoin.org:4443");

socket.onopen = function(e) {
  alert("[open] Connection established");
  alert("Sending to server");
  
  socket.send('ping');
};

socket.onmessage = function(event) {
  alert(`[message] Data received from server: ${event.data}`);
};

socket.onclose = function(event) {
  if (event.wasClean) {
    alert(`[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
    alert('[close] Connection died');
  }
};

socket.onerror = function(error) {
  alert(`[error] ${error.message}`);
};
</script>
 

Комментарии:

1. В документах говорится, что вам нужно отправить {"id":1, "command": "ping"} , и вы только отправляете ping

Ответ №1:

Согласно моему комментарию, после отправки правильной полезной нагрузки {"id":1, "command": "ping"} вы должны получить ожидаемый ответ. Я отредактировал ваш пример, обновив полезную нагрузку сообщения и заменив alert() на console.log()

 let socket = new WebSocket("wss://ws01.casinocoin.org:4443");

socket.onopen = function(e) {
  console.log("[open] Connection established");
  console.log("Sending to server");
  
  socket.send(`{"id": 1,"command": "ping"}`);
};

socket.onmessage = function(event) {
  console.log(`[message] Data received from server: ${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] ${error.message}`);
}; 

Ответ №2:

 <html>

<head>
  <meta charset="utf-8" />
  <title>WebSocket Test</title>

  <script language="javascript" type="text/javascript">
    const WebSocketTest = () => {

      // Let us open a web socket
      var ws = new WebSocket("wss://ws01.casinocoin.org:4443");

      ws.onopen = () => {
        var msg = {
          "id": 2,
          "command": "ping"
        };
        // Web Socket is connected, send data using send()
        ws.send(JSON.stringify(msg));
      };

    }
  </script>

</head>

<body>
  <div id="output" onClick="javascript:WebSocketTest()">
    Send Msg
  </div>

</body>

</html> 

Вы можете увидеть веб-сокеты, которые были отправлены на Network вкладке в инструментах разработчика.

введите описание изображения здесь

Для получения дополнительной информации обратитесь сюда