Find a lot of data, to achieve the client-server connection, through the virtual machine to test
Server-side ip:192.168.37.129 Port 1122
Client ip:192.168.37.1 Port 1122
Server:
#coding: Utf-8from Socket import *class dserver (): Def __init__ (self): self. HOST = ' 192.168.37.129 ' self. PORT = 1122 Self. BUFSIZE = 1024x768 self. ADDR = (self. HOST, self. PORT) Self.sock = socket (af_inet, sock_stream) self.sock.bind (self. ADDR) def listener (self): Self.sock.listen (5) Stop_chat = False and not Stop_cha T:print (' Waiting for access, listening port:%d '% (self). PORT) topclientsock, addr = Self.sock.accept () print (' Accept connection, client address: ', addr[0]) while True: Try:data = Topclientsock.recv (self. BUFSIZE) Except:topClientSock.close () print ("Server Off! ") Break If not data:print (" data is null ") break S= ' message received from%s sent to me by the server:%s sent back '% (Addr[0],data.decode (' Utf-8 ')) print (s) topclientsock.s End (S.encOde (' Utf-8 ')) print (Data.decode (' Utf-8 ')) stop_chat= (Data.decode (' Utf-8 '). Up per () = = "QUIT") if Stop_chat:break topclientsock.close () s Elf.sock.close () if __name__ = = ' __main__ ': Serverdemo = Dserver () Serverdemo.listener ()
Client:
#coding: Utf-8from Socket import *class dclient (): def __init__ (self): self . HOST = ' 192.168.37.129 ' self . PORT = 1122 Self . BUFSIZE = 1024x768 self . ADDR = (self. HOST, self. PORT) def Listener (self): self.client = socket (af_inet,sock_stream) self.client.connect (self. ADDR) while True: data = input (' > ') if not data: break self.client.send (Data.encode (' Utf-8 ') print (' Send message to%s:%s '% (self). HOST, data) if data.upper () = = ' QUIT ': break data = Self.client.recv (self. BUFSIZE) If not data: break print (' Accepted message %s '% (Data.decode (' Utf-8 '))) if __name__ = = ' __main__ ': C21/>clientdemo = Dclient () Clientdemo.listener ()
Test data:
Python--denyhttp Project (1)--socket Programming: Client and server Side