python实现udp数据报传输的方法
本文实例讲述了Python实现UDP数据报传输的方法,非常具有实用价值。分享给大家供大家参考。具体方法分析如下:
服务端代码:
importsocket port=8081 s=socket.socket(socket.AF_INET,socket.SOCK_DGRAM) #从给定的端口,从任何发送者,接收UDP数据报 s.bind(("",port)) print'waitingonport:',port whileTrue: data,addr=s.recvfrom(1024) #接收一个数据报(最大到1024字节) print'reciveed:',data,"from",addr
客户端代码:
importsocket port=8081 host="localhost" s=socket.socket(socket.AF_INET,socket.SOCK_DGRAM) s.sendto("helloworld",(host,port))
结果:先运行服务端,然后运行客户端,
服务端打印出:
waitingonport:8081 reciveed:helloworldfrom('127.0.0.1',62644)
补充:
socket.sendto(string[,flags],address)
官方文档如下:
Senddatatothesocket.Thesocketshouldnotbeconnectedtoaremotesocket,sincethedestinationsocketisspecifiedbyaddress.Theoptionalflagsargumenthasthesamemeaningasforrecv()above.Returnthenumberofbytessent.(Theformatofaddressdependsontheaddressfamily—seeabove.)address参数在协议类型为socket.SOCK_DGRAM时,address的结构为一个元组,(host,port)的格式
希望本文所述对大家的Python程序设计有所帮助。