我有一个想法,我想开发一个应用程序,以了解更多关于Twisted和WebSockets的信息。我正在考虑将以前编写的 IRC Bot 集成到 Web 应用程序中。据我所知,我需要三个反应器才能使其工作:
- 主反应器:Web 服务器 (HTTP)。这将是您的平均 twisted.web 应用程序。当你访问它时,你可以 POST 一个 IRC 服务器/频道来连接。然后,Web 服务器将与不同线程中的不同反应器对话,即...
- 二级反应堆:IRC Bot。这将是一个通过 Twisted IRC 客户端协议运行的 IRC 机器人。它会加入一个频道,每当有人说什么时,它就会获取该数据并将其推送到另一个反应器,在另一个线程上,这是......
- 第三反应堆:WebSocket 服务器(WS):由于 WebSockets 不使用常规的 HTTP 协议,它们需要自己的服务器(或者看起来是这样,看看这样的例子。当 IRC 机器人收到消息时,它告诉 WebSocket服务器将该消息推送到连接的客户端。
在我看来,这是有道理的。这似乎是可能的。有没有人有多个反应器在单独的线程中运行的例子,或者这是我想象的在当前的 Twisted 化身中无法完成的事情。
是否可以(或应该)进行任何架构更改以最小化反应器数量等?
谢谢你的帮助。