Not much to say, directly on the code
client.py
#!/usr/bin/pythonImportSocket,sys,stringhost="localhost"Port=8000defMain (): Sock=Socket.socket (Socket.af_inet,socket. Sock_stream) Sock.connect ((host,port)) message= Raw_input ("Please input whath your want to search:") Sock.send (Message.strip ())PrintSOCK.RECV (1024) Sock.close ()if __name__=="__main__": whileTrue:main ()
server.py
#Coding=utf-8ImportSocketImportThreading,sys,stringport=8000List=50DiC={}defvardefine ():Print "You can define variable, eg:foo=2014" whileTrue:str=raw_input () result=str.split ('=') Dic[result[0].strip ()]=result[1].strip ()defhandle (client,address):Try: Client.settimeout (500) BUF=CLIENT.RECV (1024) ifBufinchDic.keys (): Client.send (str (dic[buf ))Else: Client.send ("%s is not define, define first"%buf)exceptsocket.timeout:Print ' Time Out'client.close ()defmain (): Thread=threading. Thread (target=vardefine) Thread.Start () sock=Socket.socket (Socket.af_inet,socket. Sock_stream) Sock.bind (('localhost', Port)) Sock.listen (list) whiletrue:client,address=sock.accept () handlerequest= Threading. Thread (target=handle,args=(client,address)) Handlerequest.start ()if __name__=="__main__": Main ()
En, it should be better understood.
Python TCP socket Multithreading