有没有Python socket服务器框架?

3 投票
2 回答
5129 浏览
提问于 2025-04-15 19:58

我在找一个Python的socket服务器框架——不是用来处理http的,而是用来处理tcp sockets的。我自己也做过,但添加所有功能真的很麻烦。这个框架应该能处理线程池、socket设置、信号处理等等。

一个很重要的功能是代码自动重载。如果我使用apache/mod_python、django或者其他的东西,我就不需要重启服务器就能让它使用新的或更改过的代码。有人知道这是怎么做到的吗?

谢谢!

科林

2 个回答

5

Twisted 是一个常见的选择。在使用 mod_wsgi 的情况下,重新加载非常简单,因为只需要重启 WSGI 服务器,而不需要重启整个网页服务器(不过,重启网页服务器其实也不算太难)。

2

使用Apache和mod_wsgi的守护进程模式,并遵循这些指导原则

更新:我提到Apache是因为你在问题中提到过 - 我以为你是在说一个同时充当套接字服务器的网络应用。

Python库中有套接字服务器(可以查看文档)。据我所知,在Python中无法实现热代码重载而不可能丢失数据包。要做到这一点,你需要一些专门为热代码重载设计的东西,比如Erlang,或者你可以使用一个简单的套接字接收器,它负责接收和排队数据包,而一个更智能的后台进程则负责代码重载和数据包处理。在这种情况下,你的接收器就像一个代理一样。

撰写回答