websocket при отправке сообщения "Unexpected token o in JSON"
Задача стояла такая: подключиться к websocket для получения сообщений из чата. Протестировал через Postman, все успешно. Подключение прошло, сообщение отправлено, начал получать входящие:
Пришло время nodejs:
const WebSocket = require('ws')
const ws = new WebSocket('wss://api.talkytimes.com/push/457/thpqtmdj/websocket')
const data = JSON.stringify({method:"register",params:{key:"9b104a8d364d2f86ebe51721b78ac493"}})
const str = "{\"method\":\"register\",\"params\":{\"key\":\"9b104a8d364d2f86ebe51721b78ac493\"}}"
const arr = ["{\"method\":\"register\",\"params\":{\"key\":\"9b104a8d364d2f86ebe51721b78ac493\"}}"]
ws.onopen = event => {
setTimeout(() => {
ws.send(data) // a["{\"error\":{\"message\":\"Unexpected token o in JSON at position 1\"}}"]
ws.send(str) // a["{\"error\":{\"message\":\"Unexpected token o in JSON at position 1\"}}"]
ws.send(arr) // Connection: close Reason: Broken framing. Code: 3000
}, 1500)
}
ws.onmessage = event => {
console.log(`Message: ${event.data}`)
}
ws.onclose = ({code, reason, wasClean, target, type}) => {
console.log(`Connection: ${type}`, `Reason: ${reason}`, code)
}
ws.onerror = (event) => {
console.log(event.type)
}
Соединение установлено. Первый входящий получено, но вот при отправке сообщения соединение закрывается без ошибки: (контент тот же самый что и с Postman)
Если же отправлять просто JSON строку, то прилетает такое вот:
В чем может быть проблема, если через Postman все ок, а вот через nodejs или же через react вот такая вот проблема???
P.S. Какого-либо доступа к серверу нет
Ответы (1 шт):
Автор решения: nörbörnën
→ Ссылка
ws.onopen = () => {
const registerRequest = JSON.stringify({
method: 'register',
params: {
key: '9b104a8d364d2f86ebe51721b78ac493'
}
});
const data = JSON.stringify([registerRequest]);
ws.send(data);
};
$ node src/websocket-2/index.js
o
a["{\"result\":{\"register\":true}}"]
a["{\"result\":{\"data\":{\"idLiveVideo\":74433,\"idStreamer\":66528806,\"dateStarted\":\"2021-08-12T17:43:20+00:00\"},\"type\":\"live-video_LiveVideoStarted\"}}"]


