我一直在关注gevent-socketio,并想知道如何向特定用户广播。假设我想在userY提交数据时向userX发送通知。这些示例向聊天室中的所有用户广播消息,但仍无法弄清楚如何向特定用户广播和发送事件。我是否需要创建自定义广播混音?
答案 0 :(得分:2)
如果您想要实施特殊的广播公司或特殊房间,您需要实施自己的Mixin。我刚刚将'session'属性添加到Namespace和Socket对象..你可以在其上设置你想要的任何信息(它是一个字典)。我建议有一个事件将昵称设置在self.session['nickname']
上,然后是一个类似于broadcast_event()
的函数(在BroadcastMixin上),它将循环遍历所有套接字,检查其会话以验证如果套接字属于该特定用户,则发送该数据包。
看看the code。它使用起来非常简单。您只需要了解Socket / Namespace关系。