Geango应用程序正在运行。在
我有和这个班相似的东西
@namespace('/connect')
class ConnectNamespace(BaseNamespace):
def on_send(self, data):
# ...
但是,如果我从javascript客户机接收到事件,则一切正常,例如send
事件被正确处理
如果我想在服务器端emit
一些事件,我会有点不知所措。我可以用socket.send_packet
在类内完成它
但是现在我想把一些事件链接到post_save
信号,所以我想从这个命名空间类之外send_packet
,这样做的一种方法是
我只是不知道如何获取ConnectNamespaceInstance的实例
总而言之,我只想在收到post_save
信号后向javascript客户机发送一个事件
您可能需要添加一个模块变量来跟踪连接,比如
_connections
,如下所示:然后添加
^{pr2}$initialize
和disconnect
方法,它们使用一些可供以后引用的快乐标识符:当您需要生成一个事件时,您可以在
_connections
变量中查找正确的连接,然后用emit
触发该事件。在(没有对这些进行测试,但我在许多其他语言中使用了类似的模式:看不出这在Python中不起作用的任何原因)。在
另一个是费米的答案,我想肯定行得通。使用Redis可能会给您带来更多的灵活性,而使用gevent的greenlet可能会使这种方法更加“在框架中”,因为您已经在使用geventsocketio:D
在你的储蓄后,你可以
^{pr2}$相关问题 更多 >
编程相关推荐