用python快速开发一个实用的socket服务器 - 吴尔平 - 博客园
用python快速开发一个实用的socket服务器
首先,要明白不是所有的socket服务都需要高性能。如果要求高性能,使用IOCP或EPoll模式用C/C++来完成,直接用API写,用ACE的proactor封装来完成是比较恰当的行为。但当性能不是主要问题时,用Python来写socket服务,并享受高的开发效率将是一件快乐的事。下面,是用python完成的一个每thread/connect的一个echo服务。
经常的,在写一段Python代码时,我会先打开《Python Cookbook》(O'Reilly)一书,看看有没有所需要的(这也是保证效率的一种方式),下面的代码就是摘自此书。
1 import SocketServer
2 class MyHandler(SocketServer.BaseRequestHandler):
3 def handle(self):
4 while 1:
5 dataReceived = self.request.recv(1024)
6 if not dataReceived: break
7 self.request.send(dataReceived)
8 myServer = SocketServer.ThreadingTCPServer(('',8881), MyHandler)
9 myServer.serve_forever( )
switchflow/switchflow/asio-http at master · baus/switchflow · GitHub
switchflow/