首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Python类之间的异步通信

Python类之间的异步通信
EN

Stack Overflow用户
提问于 2018-06-24 22:14:05
回答 1查看 236关注 0票数 1

我实现了一个连接到websocket以接收异步消息的类。

代码语言:javascript
复制
class websocketClient(...):
    def on_message(self, msg):  # Gets automatically called
        notifyBrokerAbout(msg)  # How to proceed from here?

class Broker():
    self.websocket = websocketClient(...)
    self.websocket.start()

    def heartbeat(self):
        return self.websocket 

心跳函数启动websocket并返回它。websocket类本身有一个on_message()函数,该函数充当每次收到新消息时都会触发的回调函数。

我不想时不时地调用某个函数来将最新的msg从websocket传出到代理,而是希望在这些消息到达on_message()时立即将它们传出到代理。

代码语言:javascript
复制
broker = Broker()
hearbeats = broker.heartbeat()

for beat in heartbeats:
    ...

如何在Python中最好地解决这个问题?我正在寻找一种方法来将在websocketClienton_message()传入的新消息推送到heartbeat(),这样我就可以在主应用程序中订阅该函数并等待更新。

EN

回答 1

Stack Overflow用户

发布于 2018-06-24 23:05:09

这可以使用反应器模式来解决--异步处理请求,然后进行同步分派。

你可以通过搜索"reactor gevent“和"reactor twisted”找到很多很好的例子。有几种变体。我将避免推荐特定的变体,因为总体选择将取决于在示例代码中不明显的其他系统级问题。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51010732

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档