#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
вкладке в инструментах разработчика.
Для получения дополнительной информации обратитесь сюда