WS – удобный инструмент для работы с веб-сервисами
WebSocket (ws) - это протокол передачи данных, который используется для установки двусторонней связи между браузером и сервером без необходимости постоянного обновления страницы. Он позволяет браузеру и серверу обмениваться сообщениями в режиме реального времени.
Взаимодействие между клиентом и сервером, используя WebSocket, осуществляется через TCP-соединение, которое удерживается открытым на протяжении всего сеанса общения. Это позволяет реализовать многие возможности, такие как мгновенная доставка сообщений, обновление данных на лету и многие другие.
Вот пример использования WebSocket на клиентской стороне (JavaScript):
javascript
const socket = new WebSocket('wss://example.com');
socket.onopen = function() {
console.log('Соединение установлено.');
};
socket.onmessage = function(event) {
console.log('Получено сообщение:', event.data);
};
socket.onclose = function(event) {
console.log('Соединение закрыто.', event.code, event.reason);
};
В данном примере мы открываем WebSocket соединение с сервером example.com, и указываем функции, которые должны быть вызваны при открытии соединения, получении нового сообщения и закрытии соединения соответственно. Таким образом, при получении нового сообщения от сервера, выведется в консоль его содержимое.
На стороне сервера необходимо использовать WebSocket библиотеку для языка программирования, на котором написан сервер. Например, для Node.js можно использовать библиотеку ws.
Вот пример реализации WebSocket на Node.js, используя библиотеку ws:
javascript
const WebSocket = require('ws');
const server = new WebSocket.Server({ port: 8080 });
server.on('connection', function(socket) {
console.log('Новое соединение установлено.');
socket.on('message', function(message) {
console.log('Получено сообщение:', message);
socket.send('Подтверждение получения сообщения: ' + message);
});
socket.on('close', function(event) {
console.log('Соединение закрыто.', event.code, event.reason);
});
});
Этот пример создает WebSocket сервер на порту 8080 и указывает функцию, которая будет вызываться при каждом новом соединении. Затем указывается функция, которая будет вызываться при получении сообщения от клиента, и функция, которая будет вызываться при закрытии соединения. При получении сообщения от клиента, сервер отправляет обратно подтверждение получения сообщения.