python中UDP編程實現通信
本文教程操作環境:windows7系統、Python3.9.1,DELLG3電腦。
1、服務器端
recvfrom()方法返回數據和客戶端的地址與端口,這樣,服務器收到數據后,直接調用sendto()就可以把數據用UDP發給客戶端。
#coding:utf-8
importsocket
#創建套接字
s=socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
#綁定地址和端口
addr='127.0.0.1'
port=9999
s.bind((addr,port))
print("BindUDPon",port)
#數據處理
whileTrue:
data,addr=s.recvfrom(1024)
print("Receivedatafrom%s:%s"%addr)
s.sendto(b"Hello,%s!"%data,addr)
2、客戶端
客戶端使用UDP時,首先仍然創建基于UDP的Socket,然后,不需要調用connect(),直接通過sendto()給服務器發數據:
#coding:utf-8
importsocket
addr='127.0.0.1'
port=9999
s=socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
fordatain[b'Hello',b'world!']:
s.sendto(data,(addr,port))
print(s.recv(1024).decode('utf-8'))
s.close()
我們知道想要實現數據之間的傳遞,會有用戶和服務方的產生。由用戶提供需求,服務方把成果反饋給用戶。本篇就UDP編程在通信的過程分為兩個部分:服務器端和客戶端。
以上就是python中UDP編程實現通信的方法,大家可以先就兩種不同的端口進行學習,然后再分別嘗試代碼的運行部分。更多Python學習教程請關注IT培訓機構:千鋒教育。