udp (user datagram protocol, 使用者資料報協議) 是一種無連線,不可靠,基於資料的傳輸層通訊協議。
udp的通訊過程與tcp相比比較為簡單, 不需要複雜的三次握手四次揮手,提現了無連線;
udp傳輸速度比tcp快, 但容易丟包,資料到達準確性無保證, 缺乏擁塞控制, 秉承盡最大努力交付的遠著,提現了不可靠;
udp的無連線與不可靠特性注定無法採用位元組流的通訊模式,由協議名中[datagram] 與socket型別中的[sock_dgram]即可提現他基於資料報的通訊模式。
#服務端import
socket
#第乙個引數為 socket.af_inet,代表採用 ipv4 協議用於網路通訊,
#第二個引數為 socket.sock_dgram,代表採用 udp 協議用於無連線的網路通訊。
soc =socket.socket(socket.af_inet,socket.sock_dgram)
#服務端才需要繫結ip和埠
soc.bind("
127.0.0.1
",6000)
print("
udp bound on port 6000")
while
true:
data, addr = soc.recvfrom("
1024")
print("
receive:%s %s
"%(addr, data))
if data == b"
exit":
soc.sendto(b
"goodbye
", addr)
continue
soc.sendto(b
"hello %s
"%data,addr)
soc.close()
#客戶端sclient =socket.socket(socket.af_inet,socket.sock_dgram)
非常詳細的udp解析,來自:
python通過UDP TCP方式傳送資料
udp傳送資料 示例 往192.168.149.128 linux 上的udp 8888上傳送資料,在128伺服器上,利用nc監聽8888埠,接收測試資料 import socket client socket socket.socket socket.af inet,socket.sock dgr...
python學習筆記3
1 字串的格式化操作 format variable format 是格式的樣式,variable 是要被格式化的變數 format 有如下幾種形式 o 將數值轉換為八進位制 x 將數值轉換為十六進製制 d 整數轉換符號 s 字串轉換符號 如下 o 100 144 o 100 加入乙個 號可輸出標準...
python 學習筆記3
2014 10 23 三種內建的資料結構 列表 元組和字典 list len list list.sort 修改列表本身,而不是返回乙個修改後的列表 列表時可變的,字串不可變 for item in list 遍歷 del list 0 刪除專案,自動補齊。print語句的結尾的逗號消除列印的換行符...