利用python中的socket模組中的來實現udp協議,這裡寫乙個簡單的伺服器和客戶端。為了說明網路程式設計中udp的應用,這裡就不寫圖形化了,在兩台電腦上分別開啟udp的客戶端和服務端就可以了。
udp:使用者資料報協議,是乙個面向無連線的協議。採用該協議不需要兩個應用程式先建立連線。udp協議不提供差錯恢復,不能提供資料重傳,因此該協議傳輸資料安全性差。客戶端
python3只能收發二進位制資料,需要顯式轉碼
from socket import *
host = '192.168.48.128' # 這是客戶端的電腦的ip
port = 13141 #介面選擇大於10000的,避免衝突
bufsize = 1024 #定義緩衝大小
addr = (host,port) # 元祖形式
udpclient = socket(af_inet,sock_dgram) #建立客戶端
while true:
data = input('>>> ')
if not data:
break
data = data.encode(encoding="utf-8")
udpclient.sendto(data,addr) # 傳送資料
data,addr = udpclient.recvfrom(bufsize) #接收資料和返回位址
print(data.decode(encoding="utf-8"),'from',addr)
udpclient.close()
伺服器
同樣需要顯式轉碼
from socket import *
from time import ctime
host = '' #監聽所有的ip
port = 13141 #介面必須一致
bufsize = 1024
addr = (host,port)
udpserver = socket(af_inet,sock_dgram)
udpserver.bind(addr) #開始監聽
while true:
print('waiting for connection...')
data,addr = udpserver.recvfrom(bufsize) #接收資料和返回位址
#處理資料
data = data.decode(encoding='utf-8').upper()
data = "at %s :%s"%(ctime(),data)
udpserver.sendto(data.encode(encoding='utf-8'),addr)
#傳送資料
print('...recevied from and return to :',addr)
udpserver.close()
csdn位址 :
也可以致信進行交流 : [email protected]
python3實現UDP協議的簡單伺服器和客戶端
利用python中的socket模組中的來實現udp協議,這裡寫乙個簡單的伺服器和客戶端。為了說明網路程式設計中udp的應用,這裡就不寫圖形化了,在兩台電腦上分別開啟udp的客戶端和服務端就可以了。udp 使用者資料報協議,是乙個面向無連線的協議。採用該協議不需要兩個應用程式先建立連線。udp協議不...
python3實現CryptoJS AES加密演算法
from crypto.cipher import aes from binascii import b2a hex,a2b hex import base64 class aescrypt def init self,key self.key key.encode utf8 self.mode a...
python3通過udp實現組播資料的傳送和接收
本文主要通過對海康攝像頭進行抓包,模擬傳送了udp包,並抓取攝像頭返回的資料報,解析並提取相關資訊。通過抓包發現,海康攝像頭傳送 接收資料使用udp協議,後來比較發現,使用python模擬起來比較簡單。由於攝像頭內建了udp協議的server端程式,本文主要使用python模擬客戶端傳送udp資料報...