本文實例講述了Python實現UDP數據報傳輸的方法,非常具有實用價值。分享給大家供大家參考。具體方法分析如下:
服務端代碼:
import socket port = 8081 s = socket.socket(socket.AF_INET,socket.SOCK_DGRAM) #從給定的端口,從任何發送者,接收UDP數據報 s.bind(("",port)) print 'waiting on port:',port while True: data,addr = s.recvfrom(1024) #接收一個數據報(最大到1024字節) print 'reciveed:',data,"from",addr
客戶端代碼:
import socket port = 8081 host = "localhost" s = socket.socket(socket.AF_INET,socket.SOCK_DGRAM) s.sendto("hello world",(host,port))
結果:先運行服務端,然后運行客戶端,
服務端打印出:
waiting on port: 8081reciveed: hello world from ('127.0.0.1', 62644)
補充:
socket.sendto(string[, flags], address)
官方文檔如下:
Send data to the socket. The socket should not be connected to a remote socket, since the destination socket is specified by address. The optional flags argument has the same meaning as for recv() above. Return the number of bytes sent. (The format of address depends on the address family — see above.)address參數在協議類型為socket.SOCK_DGRAM時,address的結構為一個元組,(host,port)的格式
希望本文所述對大家的Python程序設計有所幫助。
新聞熱點
疑難解答