Python啟動(dòng)UDP服務(wù),監(jiān)聽并接收客戶端數(shù)據(jù)方式
Python啟動(dòng)UDP服務(wù),監(jiān)聽并接收客戶端數(shù)據(jù)
可以使用Python的socket庫(kù)實(shí)現(xiàn)UDP協(xié)議的驗(yàn)證,以下是一個(gè)簡(jiǎn)單的示例代碼:
服務(wù)器
[root@localhost python]# cat udp_server.py
import socket
# 創(chuàng)建一個(gè)UDP socket
udp_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
# 綁定到本地 IP 和端口
local_addr = ('192.168.6.211', 8888)
udp_socket.bind(local_addr)
print('UDP server is listening...')
while True:
# 接收數(shù)據(jù)
data, addr = udp_socket.recvfrom(1024)
print(f'Received data from {addr}: {data.decode()}')
# 回復(fù)數(shù)據(jù)
reply = 'Received: ' + data.decode()
udp_socket.sendto(reply.encode(), addr)
[root@localhost python]#客戶端
[root@localhost python]# cat udp_server.py
import socket
# 創(chuàng)建一個(gè)UDP socket
udp_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
# 發(fā)送數(shù)據(jù)
remote_addr = ('192.168.6.211', 8888)
udp_socket.sendto('Hello, UDP!'.encode(), remote_addr)
# 接收數(shù)據(jù)
data, addr = udp_socket.recvfrom(1024)
print(f'Received data from {addr}: {data.decode()}')
# 關(guān)閉 socket
udp_socket.close()
[root@localhost python]#以上代碼創(chuàng)建了一個(gè)UDP socket,并綁定到本地的IP和端口8888。
接著使用recvfrom()方法接收數(shù)據(jù),并使用sendto()方法發(fā)送數(shù)據(jù)。最后,關(guān)閉socket。
可以使用兩個(gè)終端分別運(yùn)行該程序,并觀察數(shù)據(jù)的傳輸情況,從而驗(yàn)證UDP協(xié)議的可靠性。



總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
解決virtualenv -p python3 venv報(bào)錯(cuò)的問題
這篇文章主要介紹了解決virtualenv -p python3 venv報(bào)錯(cuò)的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2021-02-02
python實(shí)現(xiàn)汽車管理系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)汽車管理系統(tǒng),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-11-11
Matplotlib之解決plt.savefig()保存多張圖片有重疊的問題
這篇文章主要介紹了Matplotlib之解決plt.savefig()保存多張圖片有重疊的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,2023-09-09
Python爬蟲實(shí)例扒取2345天氣預(yù)報(bào)
本篇文章給大家詳細(xì)分析了通過Python爬蟲如何采集到2345的天氣預(yù)報(bào)信息,有興趣的朋友參考學(xué)習(xí)下吧。2018-03-03
Python超有趣實(shí)例通過冒泡排序來實(shí)現(xiàn)LOL厄斐琉斯控槍
冒泡排序是一種簡(jiǎn)單的排序算法,它也是一種穩(wěn)定排序算法。其實(shí)現(xiàn)原理是重復(fù)掃描待排序序列,并比較每一對(duì)相鄰的元素,當(dāng)該對(duì)元素順序不正確時(shí)進(jìn)行交換。一直重復(fù)這個(gè)過程,直到?jīng)]有任何兩個(gè)相鄰元素可以交換,就表明完成了排序2022-05-05

