什麼是UDP:UDP是一個簡單的面向數據報的運輸層協議:進程的每個輸出操作都正好產生一個UDP數據報,並組裝成一份待發送的IP數據報。這與面向流字符的協議不同,如TCP,應用程序產生的全體數據與真正發送的單個IP數據報可能沒有什麼聯繫。接收端是服務器(server),發送端是客戶機(client)。
python中網絡編程需要先import socket包:
import sys
import socket
爲發送目的端開一個變量,保存其IP地址及端口,同時開一個變量保存自己本機IP地址,書寫形式如下:('IP地址',端口號)
address=('192.168.1.39',8085) #set the self_address addressto=('192.168.1.45',8085) #set the sendto_address
創建一個socket類的變量,然後將本機IP地址綁定到這個socket類中:
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
s.bind(address)
只要生成了socket類的變量,就可以收到來自別的客戶機發來的消息,如果需要往其他IP地址發送消息,本機只需要作爲客戶機向外發送就可以了,只需要一個s變量。
data, addr = s.recvfrom(1024) 從發送方接收數據,接收到的數據data爲字符串類型,保存在data中,從對方發送過來的地址保存在addr中。1024表示一次最多接收1024個字節。
s.sendto(message,addressto) 向目的地爲addressto的地址發送message。這樣對方就能收到了,message的數據類型是字符串。
s.close()最後進行關閉。