Как отправлять разные сообщения разным пользователям на основе определенных критериев - PullRequest
0 голосов
/ 28 марта 2020

Я создаю приложение чата, используя flask socketio, и я хочу отправить его конкретному c единственному клиенту, и мне интересно, как go узнать об этом.

Я получаю, что у emit есть аргументы широковещательной рассылки и include_self, которые нужно отправить всем и не отправлять, но как именно я go собираюсь отправлять сообщения на один sid?

Я построил это приложение использует стандартное сокетное соединение TCP / UDP, где при подключении клиента информация о сокете сохранялась в словаре, сопоставленном с их пользовательским объектом, с атрибутами, определяющими, что будет отправлено, и, когда я хотел что-то передать клиентам, я повторял это и быть в состоянии контролировать то, что было отправлено.

Я надеюсь, что какой-нибудь вдохновитель поможет мне понять, как это сделать в flask сокете io

Ответы [ 2 ]

0 голосов
/ 29 марта 2020

В итоге я понял это. Используя модуль запроса flask, вы можете получить sid пользователя, используя request.sid, который можно сохранить и передать в параметре комнаты emit(..... room=usersid

0 голосов
/ 28 марта 2020

Для отправки одному пользователю вы можете использовать sid пользователя. Для получения дополнительной информации об этом, посетите это обсуждение .

Если у вас есть доступ к клиентскому приложению, вы можете настроить разные комнаты, разрешить клиентам присоединяться к разным комнатам в соответствии с вашими критериями, и ваше серверное приложение отправляет в разные комнаты. Более подробную информацию об этом вы можете найти в документации socket.io о комнатах и ​​пространствах имен и документации python -socketio о комнатах .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...