python實現udp數據報傳輸的方法


本文實例講述了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: 8081
reciveed: 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程序設計有所幫助。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM