针对Python跨平台侦听器服务器的建议

时间:2012-03-06 05:47:27

标签: python cross-platform listener

我需要创建一个简单的服务器/守护进程,它只是等待命令(可能将它们排队),并根据收到的输入执行其他命令。以下是更详细的要求:

  • 应该是Python,因为我需要使用我为其编写的其他一些Python代码。
  • 至少需要在Linux和Windows上工作(将在Linux和Linux上作为init.d服务运行) 作为Windows上的Windows服务)
  • 通信媒体应尽可能简单,并希望命令可以从批处理脚本发送到服务器
  • 命令来自同一台机器。表现并不重要。
  • 在Windows上安装(包括从脚本向服务器发送命令所需的所有库)应该很简单。如果一切都可以包装成一个.exe更好。

最适合使用的堆栈是什么?我只有一些模糊的想法:

  • CherryPy(Windows虽然没有cURL,但是......)
  • dbus和windbus(以前从未使用过这些......)

1 个答案:

答案 0 :(得分:2)

根据我的经验(我已经实现了三到四个类似于你所描述的应用程序),所有东西都是平等的,我发现最简单的方法是使用SocketServer.TCPServer的子类并实现它我自己的,简单的命令系统。这使您可以完全控制细节(需要流式传输?没问题;需要有状态连接吗?没问题),并且鉴于套接字如何工作的一些基本知识,并不是那么棘手。

在Windows上,我了解py2exe做得很好。

您可能需要考虑的几种替代方案/工具: