Websocket server + web (API) server. Какие есть варианты?

Есть необходимость запуска веб сервера (API) и websocket server'а на одном скрипте. Или как-то организовать между ними обмен данными, если это разные скрипты. Задача вкратце: к сокет серверу подключены клиенты и в режиме реального времени должны получать данные. По определенным командам сокет сервер отправляет запрос к апи и полученный ответ рассылает клиентам. В апи сервере есть ендпоинты на события, которые генерируются на стороннем сайте и передаются в апи, который производит действия и шлет все по сокетам клиентам.

Может запутанно, но задача именно такая. Знаю, что можно такое провернуть на nodejs. Там на одном скрипте с общей областью видимости можно поднять эти 2 сервера, но интересует такая возможность на других языках. Например, PHP, Python. Ничего внятного не нашел. Может кто знает как это можно реализовать.
  • Вопрос задан
  • 116 просмотров
Решения вопроса 2
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Ничто не мешает скриптам API дёргать скрипт WS-сервера через какой-либо интерфейс. Скажем, тот же Workerman кроме WS-сервера может поднимать HTTP(s) или чистый TCP-сервер.
Ответ написан
@va_k
В python это можно сделать по-разному. Но самый простой это использовать asyncio и библиотеку aiohttp. Это пример клиента WebSocket client, а это сервера WebSocket server. Как вы понимаете оба ворекра можно запустить в одном event loop, так же как и в javascript.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы