@SenseyJW

Почему не работает функция send в websocket?

Приветствую всех!
Использую websocket в проекте, но при проверке соединения между сервером и клиентом получаю ошибку.
У меня следующая конструкция для создании сервера и подключения websocket:
const http = require('http')
const WebSocketServer = require("websocket").server;
let connection = null;

const httpserver = http.createServer((req, res) =>{
  console.log("recieved a request");
})


const websocket = new WebSocketServer({
  "httpServer": httpserver
})

websocket.on("request", request=> {
  connection = request.accept(null, request.origin);
  connection.on("open", () => console.log("connection is opened"));
  connection.on("close", () => console.log("connection is closed"));
  connection.on("message", message => {
    console.log(`Recieved a message: ${message}`)
  })
})
httpserver.listen(8080, () => console.log("My server is listening on port 8080"))


Сервер запускается успешно. Со стороны клиента код следующий:
let ws = new WebSocket('ws://localhost:8080')
  ws.onmessage = message => console.log(`Recieved a message from server: ${message.data} `)

То есть я добавил обработчик события получения сообщения со стороны сервера. Сам вебсокет подключается успешно, но после отправки сообщения со стороны сервера
connection.send("test")
появляется ошибка
TypeError: Cannot read property 'send' of null
Со стороны клиента при отправке сообщения ws.send("test message") так же ошибка, но уже в клиенте:
DOMException: Failed to execute 'send' on 'WebSocket': Stil

Буду признателен, если кто-то просветит меня, в чем заключается ошибка (и поделится хорошим ресурсом по веб сокетам).
  • Вопрос задан
  • 113 просмотров
Пригласить эксперта
Ваш ответ на вопрос

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

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