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()
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对毛票票的支持。如果你想了解更多相关内容请查看下面相关链接