Приветствую всех!
Использую 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
Буду признателен, если кто-то просветит меня, в чем заключается ошибка (и поделится хорошим ресурсом по веб сокетам).