高效的Python IPC

发布于 2021-01-29 16:04:54

关闭。 此问题不符合堆栈溢出准则。它当前不接受答案。


想改善这个问题吗? 更新问题,使其成为Stack Overflow的主题

去年关闭。

改善这个问题

我做在Python3的应用,这将在划分batchgui零件。 Batch负责处理逻辑并gui负责显示它。

我应该使用哪个进程间通信(IPC)框架并满足以下要求:

  1. GUI可以在批处理以外的其他设备上运行(GUI可以在本地或通过网络在同一设备,智能手机,平板电脑等设备上运行)。
  2. 批处理(Python3 IPc库)在Linux,Mac,Windows等操作系统上应该可以正常工作。
  3. IPC应该支持用不同语言(Python,Javascript等)编写的GUI
  4. IPC的性能很重要-它应尽可能“交互”,但不要丢失信息。
  5. 多个GUI可以连接到同一批次。

另外: 如果还可以保证用Python编写GUI,那么选择会是其他选择吗?

编辑: 我发现了很多IPC库,例如这里:高效的Python到Python
IPC
ActiveMQ或RabbitMQ或ZeroMQ或

到目前为止,我发现的最好看的选项是:

  • Rabbitmq
  • 零平方米
  • 焦油

他们是否适合解决这个问题?如果不是,为什么?如果情况更好,请告诉我原因。

关注者
0
被浏览
48
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    您提到的三个似乎很合适,并且可以满足您的要求。我认为您应该继续进行自己最舒适\最熟悉的操作。

    根据我的个人经验,我相信ZeroMQ是效率,易用性和互操作性之间的最佳组合。我很轻松地将zmq 2.2与Python
    2.7集成在一起,因此这将是我个人的最爱。但是,正如我说的那样,我很确定您不会对这三个框架都犯错。

    一半相关:需求会随着时间而变化,您可能决定稍后再打开框架,因此封装对框架的依赖关系将是一个很好的设计模式。(例如,具有与框架交互的单个管道模块,并使其API使用您的内部数据结构和领域语言)



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看