我一直在看gevent-socketio并且想知道如何向特定用户广播。假设我想在 userY 提交数据时向 userX 发送通知。这些示例向聊天室中的所有用户广播消息,但仍然无法弄清楚如何向特定用户广播和事件。我需要创建一个自定义的广播 Mixin 吗?
问问题
848 次
1 回答
2
如果你想实现一个特殊的广播器,或者一个特殊的房间,你需要实现你自己的 Mixin。我刚刚将“会话”属性添加到命名空间和套接字对象。您可以在其上设置所需的任何信息(它是一个字典)。我建议有一个事件将昵称设置为 ,self.session['nickname']
然后是一个类似于broadcast_event()
(在 BroadcastMixin 上)的函数,它将遍历所有套接字,检查其会话以验证套接字是否属于该特定用户,并且如果是,请发送数据包。
看看代码。使用起来非常简单。您只需要了解 Socket / Namespace 的关系。
于 2012-03-30T04:14:13.880 回答