Nestjs как использовать HTTP-запрос и Websocket одновременно

У меня есть контроллер в Nestjs, который обрабатывает HTTP-запросы. Существует устройство IoT, которое связывается с сервером и отправляет последние изменения на сервер с помощью почтового запроса. В то же время есть мобильное приложение, которое должно получать обновления в реальном времени с помощью Websockets.

Я знаю, что HTTP-запрос и веб-сокеты - это разные концепции в Nestjs, но есть ли способ генерировать событие всякий раз, когда я получаю HTTP-запрос?

Любая идея будет высоко оценена.

1 ответ

Решение

Для этого действительно есть подходящее решение. Вам нужен Injectableкоторый содержит RxJS. Когда бы ты ни Controllerполучает значение через запрос POST, он делегирует значение внедренной службе. Затем служба "дает указание" передать значение. На другой стороне цепочки, внутри вашего WebSocket Gateway @SubscribeMessage, вы возвращаете RxJS Observable - который получен из Subject - подключенным клиентам.

Подробнее о теме и асинхронных ответах

Вот реализация .

Другие вопросы по тегам