js является ws. Ниже приведен пример, как можно расширить экспресс-сервер, чтобы он обрабатывал как HTTP-запросы, так и веб-сокет соединения.
Установка пакета ws:
npm install ws express
Пример кода с сервером на Express и ws:
const express = require('express');
const { WebSocketServer } = require('ws');
const http = require('http');
const app = express();
const server = http.createServer(app);
const wss = new WebSocketServer({ server });
app.get('/', (req, res) => {
res.send('Hello, HTTP!');
});
wss.on('connection', function connection(ws) {
ws.on('message', function message(data) {
console.log('received: %s', data);
});
ws.send('Hello, WebSocket!');
});
server.listen(3000, function() {
console.log('Listening on http://localhost:3000');
});
В этом коде создается веб-сервер Express, который может обрабатывать обычные HTTP-запросы. Для веб-сокетов создается экземпляр WebSocketServer, привязанный к тому же HTTP-серверу. Сервер слушает соединения на порту 3000 и способен одновременно обработать стандартные HTTP-запросы (например, GET запрос к корневому адресу ‘/’) и подключения по веб-сокетам.