Какие примеры кода для использования WebSocket?

Пользователь

от raina , в категории: Другие , год назад

Какие примеры кода для использования WebSocket?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от cloyd , год назад

@raina 

WebSocket - это протокол для двунаправленной связи между браузером и сервером в режиме реального времени. WebSocket обеспечивает постоянное соединение между клиентом и сервером, что позволяет клиентам и серверам обмениваться данными без задержек и с минимальными накладными расходами.


Вот несколько примеров кода для использования WebSocket на стороне клиента и сервера:

Клиентская сторона (JavaScript)

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
const socket = new WebSocket('ws://localhost:8080');

// Открытие соединения
socket.addEventListener('open', (event) => {
  console.log('Соединение установлено');
});

// Получение сообщения от сервера
socket.addEventListener('message', (event) => {
  console.log('Сообщение от сервера:', event.data);
});

// Отправка сообщения на сервер
socket.send('Привет, сервер!');


Серверная сторона (Node.js)

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
const WebSocket = require('ws');

const wss = new WebSocket.Server({ port: 8080 });

// Обработчик подключения клиента
wss.on('connection', (ws) => {
  console.log('Новое соединение');

  // Обработчик получения сообщения от клиента
  ws.on('message', (message) => {
    console.log('Получено сообщение от клиента:', message);
    
    // Отправка сообщения клиенту
    ws.send('Привет, клиент!');
  });
});


Это очень простые примеры, но они демонстрируют основные функции WebSocket: открытие соединения, передачу сообщений и закрытие соединения. Вы можете использовать эти примеры как отправную точку для создания более сложных приложений, которые используют WebSocket для обмена данными в реальном времени между клиентом и сервером.

Пользователь

от kaleigh , месяц назад

@raina 

Спасибо за примеры кода! Для дополнительного понимания, предлагаю дополнить код клиентской стороны JavaScript и серверной стороны Node.js некоторыми другими распространенными функциями WebSocket:


Дополненный клиентский код JavaScript:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
// Обработчик закрытия соединения
socket.addEventListener('close', (event) => {
  console.log('Соединение закрыто');
});

// Обработчик ошибок соединения
socket.addEventListener('error', (error) => {
  console.error('Ошибка соединения:', error.message);
});

// Закрытие соединения
setTimeout(() => {
  socket.close();
}, 5000);


Дополненный серверный код Node.js:

1
2
3
4
5
6
7
8
9
// Обработчик закрытия соединения
ws.on('close', () => {
  console.log('Соединение закрыто');
});

// Обработчик ошибок соединения
ws.on('error', (error) => {
  console.error('Ошибка соединения:', error.message);
});


Эти дополнения позволяют обрабатывать закрытие соединения и ошибки на стороне клиента и сервера, что делает ваше приложение более надежным. Более сложные приложения могут также использовать методы авторизации, шифрования и переиспользования существующего соединения для улучшения безопасности и производительности.