我正在寻找一个python套接字服务器框架 - 不是为了处理http,而是为了处理tcp套接字。我自己做过,但添加所有功能很乏味。此框架将处理线程池,套接字设置,信号处理等。任何python套接字服务器框架?
一个很大的特性是代码重新加载。如果我使用apache/mod_python或django,或者其他什么,我不必重新启动服务器就可以使用新的/已更改的代码。任何人都知道如何做到这一点?
谢谢!
科林
我正在寻找一个python套接字服务器框架 - 不是为了处理http,而是为了处理tcp套接字。我自己做过,但添加所有功能很乏味。此框架将处理线程池,套接字设置,信号处理等。任何python套接字服务器框架?
一个很大的特性是代码重新加载。如果我使用apache/mod_python或django,或者其他什么,我不必重新启动服务器就可以使用新的/已更改的代码。任何人都知道如何做到这一点?
谢谢!
科林
在守护进程模式下使用Apache,mod_wsgi并遵循these guidelines。
更新:我提到了Apache,因为你在你的问题中做过 - 我假设你在谈论一个也充当套接字服务器的Web应用程序。
Python库有套接字服务器(请参阅the documentation)。 AFAIK你不能在Python中进行热代码重新加载而不会丢失数据包,因为你需要一些专门为热代码重新加载而设计的东西,比如Erlang,否则只需要一个接收和排队数据包的哑套接字接收器,以及一个更智能的后端进程代码重新加载和数据包处理。在这种情况下,您的接收器将充当代理。
我以为apache是一个http服务器。它可以用于服务tcp套接字吗? – Colin 2010-03-03 17:36:06
mod_wsgi无需重启服务器即可重新加载应用程序。也许使用mod_wsgi比从头开始创建自己的web服务器更容易。 – 2010-03-03 17:57:22
是的,但我不想要一个web/http服务器,我想要一个tcp套接字服务器。 apache/mod_wsgi的服务器能否比http低? – Colin 2010-03-03 18:28:37
@Colin:你的问题很混乱。 HTTP是一个TCP协议。处理HTTP套接字正在处理TCP套接字。你提供什么协议?你提到apache/mod_python。为什么?你能澄清你的问题吗? – 2010-03-03 18:43:08