Python一个简单的通信程序(客户端 服务器)
功能是从客户端向服务发送一个字符串,服务器收到后将字符串重新发送给客户端,同时,在连接建立之后,服务器可以向客户端发送任意多的字符串
客户端:
10.248.27.23是我电脑的IP
importsocket,sys host='10.248.27.23' #host=raw_input("PlzimputdestinationIP:") #data=raw_input("Plzimputwhatyouwanttosubmit:") port=51423 s=socket.socket(socket.AF_INET,socket.SOCK_STREAM) try: s.connect((host,port)) exceptsocket.gaierror,e: print"Address-relatederrorconnectingtoserver:%s"%e sys.exit(1) exceptsocket.error,e: print"Connectionerror:%s"%e sys.exit(1) data=raw_input("Plzimputwhatyouwanttosubmit:") s.send(data) s.shutdown(1) print"SubmitComplete" while1: buf=s.recv(1024) sys.stdout.write(buf)
服务器:
importsocket,traceback host='' port=51423 s=socket.socket(socket.AF_INET,socket.SOCK_STREAM) s.setsockopt(socket.SOL_SOCKET,socket.SO_REUSEADDR,1) s.bind((host,port)) s.listen(1) print"done" while1: #whenconnecterrorhappen,skiptheerror try: ClientSock,ClientAddr=s.accept() exceptKeyboardInterrupt: raise except: traceback.print_exc() continue #Getinformaionformclientandreply try: print"Getconnectfrom",ClientSock.getpeername() data=ClientSock.recv(1024) print"Theinformationwegetis%s"%str(data) ClientSock.sendall("I`vegottheinformation:") ClientSock.sendall(data) while1: str=raw_input("Whatyouwanttosay:") ClientSock.sendall(str) ClientSock.sendall('\n') except(KeyboardInterrupt,SystemError): raise except: traceback.print_exc() #Clocssocket try: ClientSock.close() exceptKeyboardInterrupt: raise except: traceback.print_exc()
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对毛票票的支持。如果你想了解更多相关内容请查看下面相关链接