Python一个简单的通信程序(客户端 服务器)

时间:2021-05-22

功能是从客户端向服务发送一个字符串, 服务器收到后将字符串重新发送给客户端,同时,在连接建立之后,服务器可以向客户端发送任意多的字符串

客户端:

10.248.27.23是我电脑的IP

import socket, syshost = '10.248.27.23'# host = raw_input("Plz imput destination IP:")# data = raw_input("Plz imput what you want to submit:")port = 51423s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)try: s.connect((host, port))except socket.gaierror, e: print "Address-related error connecting to server: %s" %e sys.exit(1)except socket.error, e: print "Connection error: %s" %e sys.exit(1)data = raw_input("Plz imput what you want to submit:")s.send(data)s.shutdown(1)print "Submit Complete"while 1: buf = s.recv(1024) sys.stdout.write(buf)

服务器:

import socket, tracebackhost = ''port = 51423s = 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"while 1: #when connect error happen, skip the error try: ClientSock, ClientAddr = s.accept() except KeyboardInterrupt: raise except: traceback.print_exc() continue #Get informaion form client and reply try: print "Get connect from ", ClientSock.getpeername() data = ClientSock.recv(1024) print "The information we get is %s" % str(data) ClientSock.sendall("I`ve got the information: ") ClientSock.sendall(data) while 1: str = raw_input("What you want to say:") ClientSock.sendall(str) ClientSock.sendall('\n') except (KeyboardInterrupt ,SystemError): raise except: traceback.print_exc() #Clocs socket try: ClientSock.close() except KeyboardInterrupt: raise except: traceback.print_exc()

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对的支持。如果你想了解更多相关内容请查看下面相关链接

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章