python SocketServer 简单服务器例子

最近在看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() # 服务器无限循环运行

你可能感兴趣的:(python,ssocketserver)