最近在看python的socket,SocketServer。試着寫了一個簡單的例子,容許多個客服端或瀏覽器同時訪問。這裏只寫了服務器,木寫客戶端,你能夠用瀏覽器訪問。不對的地方和須要完善的地方,請指出,你們一塊進步。 python
#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() # 服務器無限循環運行