Как транслировать событие для конкретного пользователя с помощью Pyramid и socketio - PullRequest
3 голосов
/ 29 марта 2012

Я смотрел на gevent-socketio и задавался вопросом, как я могу транслировать конкретному пользователю.Допустим, я хочу отправить уведомление пользователю userX, когда пользователь отправляет данные.Примеры транслируют сообщения всем пользователям в чате, но все еще не могут понять, как транслировать и события конкретному пользователю.Нужно ли создавать собственный широковещательный миксин?

1 Ответ

2 голосов
/ 30 марта 2012

Если вы хотите внедрить специальный вещатель или специальную комнату, вам нужно будет создать свой собственный Mixin.Я просто добавил атрибут 'session' к объекту Namespace и Socket .., на котором вы можете установить любую информацию, которую вы хотите (это словарь).Я предлагаю иметь событие, которое установит псевдоним, скажем, self.session['nickname'], а затем функцию, аналогичную broadcast_event() (в BroadcastMixin), которая будет проходить по всем сокетам, проверить свой сеанс, чтобы проверить, принадлежит ли сокетэтому конкретному пользователю и отправьте пакет, если это так.

Взгляните на код .Это довольно просто в использовании.Вам просто нужно понять отношение Socket / Namespace.

...