感谢迄今为止的有趣回应.根据上述回复,我稍微改变了我的问题.
猜测我真正需要知道的是socketserver而不是设计用于处理延迟和压力时期的直接套接字库,即它是否有其他机制或功能可以证明其隐式广告状态为"服务器".或者它只是稍微容易使用?
每个人似乎都在推荐socketserver,但我仍然不完全清楚为什么,而不是套接字.
谢谢!!!
我已经在python中基于标准套接字库构建了一些服务器程序 http://docs.python.org/library/socket.html
我注意到他们似乎工作得很好,除了没有负载他们有一段时间后会睡觉的倾向.我想这可能不是在生产中的问题(毫无疑问,将会有大量的其他问题),但我会想知道,如果我使用正确的代码工作在这里.
环顾四周,我看到python还提供了一个socketserver库 - http://docs.python.org/library/socketserver.html
该插座库提供监听多个连接,通常高达5的能力.
根据socketserver页面,它的服务是同步的,即阻塞,但是可以通过线程支持异步行为.我确实注意到它有能力维护一个请求队列,默认值最多为5个请求......所以可能没有多大区别.
我还读过Twisted在引擎盖下运行socketserver.虽然我宁愿不进入像Twisted一样大小的野兽,除非它是值得的.
所以我的问题是,socketserver比socket更强大吗?如果是这样,为什么?
(你怎么知道?)
顺便说一句,socketserver是建立在python的套接字之上还是完全独立?
最后,作为奖励,如果有人知道什么可以做错,这样标准插座"睡着了",请随意加入.
哦,我在说python 2.x而不是3.x如果这有所作为.
谢谢大家!
JSH
好吧,我没有技术答案,但我已经按照人们的建议实施了SocketServer,它肯定更可靠.如果有人想出了低级别的解释,请告诉我...谢谢!