我想在 Python 中创建 2 个应该相互通信的应用程序。其中一个应用程序应该像服务器一样运行,第二个应用程序应该是客户端的 GUI。它们可以在同一系统(同一台机器上)或远程和不同设备上运行。
我想问你,我应该使用哪种技术 - AMQP 消息传递(如RabbitMQ
),Twisted
如服务器(或Tornado
)或 ZeroMQ 并将应用程序连接到它。将来我想进行某种身份验证等。
我已经阅读了很多问题和文章(例如:Why do we need to use rabbitmq),很多人都在说“rabbitmq 和 twisted 是不同的”。我知道他们是。我真的很想知道这些差异以及为什么在这种情况下这些解决方案中的一个会比另一个更好。
编辑: 我想用它来满足以下要求:
- 一次将有超过 1 个用户连接 - 我认为将有 1 - 10 个用户连接到同一个程序,他们将协同工作
- 发送的数据是“消息”,告诉用户做了什么——比如远程调用(但不要专注于此,因为 GUIS 可以用不同的语言编写,所以消息将类似于 json 信息)。
- 该系统应该允许协作工作——因此它应该尽可能地具有交互性。(当用户输入或执行某些操作时,数据将一直发送)。
另外,我很想听听为什么一种解决方案不仅在这种特殊情况下会比另一种更好。