最近在看python的socket,SocketServer。试着写了一个简单的例子,允许多个客服端或浏览器同时访问。这里只写了服务器,木写客户端,你可以用浏览器访问。不对的地方和需要完善的地方,请指出,大家一块进步。
#server
from SocketServer import TCPServer, ThreadingMixIn, StreamRequestHandler #创建多线程 允许多个客户端同时访问 class server(TCPServer,ThreadingMixIn): pass #该函数 对接收的数据进行处理加工 def changData(x): z=x.upper() return z #继承StreamRequestHandler类 ,改写handle 函数 class dataHandle(StreamRequestHandler): def handle(self): cliend_ip=self.request.getpeername() #得到访问服务器的ip 返回的是一个元组 ,包含 ip ,port print "client_ip:",cliend_ip data=self.request.recv(2048)#接收数据 print "receive data:",data r='jkljll' self.wfile.write(changData(data))#向客服端发送数据 self.wfile.write('\n') self.wfile.write(data)#向客服端发送数据 servers=server(('192.168.0.108',1278),dataHandle)#server()需要两个参数,一个是(ip,port),另一个是继承StreamRequestHandler后的类 servers.serve_forever() # 服务器无限循环运行