WebSocket Proxy
Рассказывал в этом видео, как реализовал веб-сокет соединение в Django проекте.
Для "переброса" сообщений - создал отдельный сервис который проксирует сообщения - просто передает их обратно в тот же веб-сокет канал.
Это решение проще тем, что особо не надо решать вопросы по архитектуре текущего проекта. Например, переходить с WSGI на ASGI (к тому же на тот момент проект был в хостинге Рег.ру, а там вообще не было поддержки ASGI для Джанго)
Если кому вдруг пригодится - вот сам микросервис WebSocket Proxy
https://github.com/Luckykarter/ws-proxy
А отправка сообщения через веб-сокет в этом случае выглядит вот так (библиотека
Рассказывал в этом видео, как реализовал веб-сокет соединение в Django проекте.
Для "переброса" сообщений - создал отдельный сервис который проксирует сообщения - просто передает их обратно в тот же веб-сокет канал.
Это решение проще тем, что особо не надо решать вопросы по архитектуре текущего проекта. Например, переходить с WSGI на ASGI (к тому же на тот момент проект был в хостинге Рег.ру, а там вообще не было поддержки ASGI для Джанго)
Если кому вдруг пригодится - вот сам микросервис WebSocket Proxy
https://github.com/Luckykarter/ws-proxy
А отправка сообщения через веб-сокет в этом случае выглядит вот так (библиотека
websocket-client
):from websocket import create_connection
message = {} # сообщение в формате json
user_id = 0 # айди пользователя
ws = create_connection(
f'{web_socket_server}/{user_id}/')
ws.send(json.dumps(message))
ws.close()