应用程序通过本地TCP / IP套接字进行通信

时间:2013-12-13 20:30:10

标签: python sockets tcp ipc

我正在开发一个相当复杂的应用程序,我将直接进入设置,以便我可以解释工作流程。

  1. 客户端连接到中央服务器(监控,管理和维护)
  2. 使用Twisted Framework构建本地HTTP Server(提供1个配置Web界面,1个设备管理和1个操作界面)
  3. 服务器,用于从中央服务器或http服务器(打印,上传等)在主机上执行各种命令。
  4. 未确认 GUI应用程序替换操作界面
  5. 我正在考虑在进程和客户端之间建立TCP / IP通信(可能2和3将是服务器/客户端混合,因此实现轮询效果并对数据采取行动)我的问题是:

    这是在应用程序之间进行通信的最佳方式吗?

    应用程序的每个实例将仅由单个用户使用,因此,如果没有应用程序正在读取/写入大数据,仅读取命令和元数据,那么硬件要求是什么,因为应用程序是在单台机器上运行(所以可以访问文件系统等)?

    信息: 的 该系统将在Debian环境中运行,在低端硬件(1Ghz CPU,256-512MB RAM或类似的东西)上运行,该应用程序将完全用Python构建

1 个答案:

答案 0 :(得分:1)

查看ZeroMQ

  

ØMQ(也称为ZeroMQ,0MQ或zmq)看起来像一个嵌入式   网络库,但就像一个并发框架。它给你   在各种传输中携带原子消息的套接字   进程内,进程间,TCP和多播。您可以连接套接字   N-to-N具有扇出,发布子,任务分配等模式   请求 - 应答。它足够快,可以成为集群的结构   产品。其异步I / O模型为您提供可扩展的多核   应用程序,构建为异步消息处理任务。它有一个   语言API的得分,并在大多数操作系统上运行。 ØMQ来自   iMatix和LGPLv3开源。