小编jsh*_*jsh的帖子

(是否)python socketserver优于常规套接字对象的性能优势?

感谢迄今为止的有趣回应.根据上述回复,我稍微改变了我的问题.

猜测我真正需要知道的是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,它肯定更可靠.如果有人想出了低级别的解释,请告诉我...谢谢!

python sockets asynchronous synchronous socketserver

10
推荐指数
1
解决办法
2047
查看次数