Для правильной настройки SSE (Server-Sent Events) в Node.js, вам потребуется следовать нескольким шагам.
1. Установка зависимостей:
Для начала убедитесь, что у вас установлен Node.js на вашем компьютере. Затем создайте новую папку для проекта и перейдите в нее через командную строку или терминал. Инициализируйте новый проект с помощью команды npm init
, а затем установите Express и другие необходимые пакеты, выполнив команду npm install express
.
2. Создание сервера:
Создайте новый файл, например, server.js
, и подключите Express, добавив следующие строки в начало файла:
const express = require('express'); const app = express(); const port = 3000; // Или любой другой порт, который вы хотите использовать
3. Настройка маршрута SSE:
Создайте новый маршрут для SSE, добавив следующие строки перед созданием сервера:
app.get('/sse', (req, res) => { res.setHeader('Content-Type', 'text/event-stream'); res.setHeader('Cache-Control', 'no-cache'); res.setHeader('Connection', 'keep-alive'); res.setHeader('Access-Control-Allow-Origin', '*'); // Отправьте первое событие SSE res.write(`data: ${JSON.stringify({ message: 'Hello SSE' })}nn`); // Отправьте другие события SSE через определенный интервал времени (например, каждые 5 секунд) setInterval(() => { res.write(`data: ${JSON.stringify({ message: 'Another event' })}nn`); }, 5000); });
4. Запуск сервера:
Добавьте следующую строку в конец файла server.js
, чтобы запустить сервер:
app.listen(port, () => { console.log(`Server is listening at http://localhost:${port}`); });
5. Запуск сервера SSE:
Выполните команду node server.js
в командной строке или терминале, чтобы запустить сервер SSE.
Теперь вы можете обращаться к маршруту SSE (http://localhost:3000/sse) и получать обновления через протокол SSE. Каждые 5 секунд на клиент отправляется новое событие SSE с данными в формате JSON.
Это базовый пример настройки SSE в Node.js с использованием Express. Вы можете добавить другие функции и логику, в зависимости от ваших потребностей.