Если вы используете NodeJS в качестве сервера, то я рекомендую использовать этот пакет: npm ws , это сверхлегкий веб-сокет для серверной стороны.
Теперь, к вашему примеру:
на стороне сервера:
const WebSocket = require('ws');
const wss = new WebSocket.Server({ port: 8080 });
wss.on('connection', function connection(ws) {
ws.on('message', function incoming(message) {
console.log('received: %s', message);
});
ws.send('something');
});
на стороне клиента
const socket = new WebSocket('ws://127.0.0.1:8080/');
socket.onopen = () => {
console.log("I'm open!");
socket.send('Sending from client');
}
socket.onmessage = (message) => {
console.log('Received: ', message);
console.log('Received Data: ', message.data);
}
- Вы увидите
console.log
на сервере с надписью «получено: отправка от клиента» Вы увидите два файла console.logs на клиенте со словами:
Received: MessageEvent {isTrusted: true, data: "something", origin:
"ws://127.0.0.1:8080", lastEventId: "", source: null, …}
И
Received Data: something
Полученные данные "что-то" были отправлены с сервера на ws.send('something');
, вы можете изменить это на строку типа JSON, а затем проанализировать message.data
на клиенте с помощью JSON.parse(message.data)
ПРИМЕЧАНИЕ: На клиенте WebSocket()
- это собственный API, поэтомуВам не нужно ничего импортировать, в отличие от сервера NodeJS, где желателен пакет NPM.
На самом деле вы можете протестировать клиентскую часть через консоль разработчика.