2010-03-03 20 views
2

我正在寻找一个python套接字服务器框架 - 不是为了处理http,而是为了处理tcp套接字。我自己做过,但添加所有功能很乏味。此框架将处理线程池,套接字设置,信号处理等。任何python套接字服务器框架?

一个很大的特性是代码重新加载。如果我使用apache/mod_python或django,或者其他什么,我不必重新启动服务器就可以使用新的/已更改的代码。任何人都知道如何做到这一点?

谢谢!

科林

+0

mod_wsgi无需重启服务器即可重新加载应用程序。也许使用mod_wsgi比从头开始创建自己的web服务器更容易。 – 2010-03-03 17:57:22

+0

是的,但我不想要一个web/http服务器,我想要一个tcp套接字服务器。 apache/mod_wsgi的服务器能否比http低? – Colin 2010-03-03 18:28:37

+0

@Colin:你的问题很混乱。 HTTP是一个TCP协议。处理HTTP套接字正在处理TCP套接字。你提供什么协议?你提到apache/mod_python。为什么?你能澄清你的问题吗? – 2010-03-03 18:43:08

回答

2

在守护进程模式下使用Apache,mod_wsgi并遵循these guidelines

更新:我提到了Apache,因为你在你的问题中做过 - 我假设你在谈论一个也充当套接字服务器的Web应用程序。

Python库有套接字服务器(请参阅the documentation)。 AFAIK你不能在Python中进行热代码重新加载而不会丢失数据包,因为你需要一些专门为热代码重新加载而设计的东西,比如Erlang,否则只需要一个接收和排队数据包的哑套接字接收器,以及一个更智能的后端进程代码重新加载和数据包处理。在这种情况下,您的接收器将充当代理。

+0

我以为apache是​​一个http服务器。它可以用于服务tcp套接字吗? – Colin 2010-03-03 17:36:06

4

Twisted是通常的嫌疑犯。在mod_wsgi的情况下重新加载很容易,因为只有WSGI服务器需要重新启动,而不是整个Web服务器(不是重新启动Web服务器是非常困难的,请注意......)。

+0

是的,我可能不得不走那条路。我只是不想让所有的异步。我对同步处理非常满意,只是想免费得到一堆服务器框架的东西...... – Colin 2010-03-03 17:37:21

+0

+1。 – nosklo 2010-03-03 21:36:57