Python一个简单的通信程序(客户端 服务器)
程序员文章站
2022-05-12 10:57:14
功能是从客户端向服务发送一个字符串, 服务器收到后将字符串重新发送给客户端,同时,在连接建立之后,服务器可以向客户端发送任意多的字符串
客户端:
10.248.27.2...
功能是从客户端向服务发送一个字符串, 服务器收到后将字符串重新发送给客户端,同时,在连接建立之后,服务器可以向客户端发送任意多的字符串
客户端:
10.248.27.23是我电脑的ip
import socket, sys host = '10.248.27.23' # host = raw_input("plz imput destination ip:") # data = raw_input("plz imput what you want to submit:") port = 51423 s = 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, 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" 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()
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对的支持。如果你想了解更多相关内容请查看下面相关链接