新聞中心
本文教程操作環(huán)境:windows7系統(tǒng)、Python 3.9.1,DELL G3電腦。

目前創(chuàng)新互聯(lián)已為千余家的企業(yè)提供了網(wǎng)站建設(shè)、域名、虛擬空間、網(wǎng)站托管、服務(wù)器租用、企業(yè)網(wǎng)站設(shè)計(jì)、三臺(tái)網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長(zhǎng),共同發(fā)展。
1、服務(wù)器端
recvfrom()方法返回?cái)?shù)據(jù)和客戶端的地址與端口,這樣,服務(wù)器收到數(shù)據(jù)后,直接調(diào)用sendto()就可以把數(shù)據(jù)用UDP發(fā)給客戶端。
# coding:utf-8
import socket
# 創(chuàng)建套接字
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
# 綁定地址和端口
addr = '127.0.0.1'
port = 9999
s.bind((addr,port))
print("Bind UDP on",port)
# 數(shù)據(jù)處理
while True:
data, addr = s.recvfrom(1024)
print("Receive data from %s:%s" % addr)
s.sendto(b"Hello, %s!" % data, addr)2、客戶端
客戶端使用UDP時(shí),首先仍然創(chuàng)建基于UDP的Socket,然后,不需要調(diào)用connect(),直接通過sendto()給服務(wù)器發(fā)數(shù)據(jù):
# coding:utf-8
import socket
addr = '127.0.0.1'
port = 9999
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
for data in [b'Hello', b'world!']:
s.sendto(data,(addr, port))
print(s.recv(1024).decode('utf-8'))
s.close()我們知道想要實(shí)現(xiàn)數(shù)據(jù)之間的傳遞,會(huì)有用戶和服務(wù)方的產(chǎn)生。由用戶提供需求,服務(wù)方把成果反饋給用戶。本篇就UDP編程在通信的過程分為兩個(gè)部分:服務(wù)器端和客戶端。
以上就是python中UDP編程實(shí)現(xiàn)通信的方法,大家可以先就兩種不同的端口進(jìn)行學(xué)習(xí),然后再分別嘗試代碼的運(yùn)行部分。
分享文章:創(chuàng)新互聯(lián)Python教程:python中UDP編程實(shí)現(xiàn)通信
網(wǎng)頁(yè)路徑:http://fisionsoft.com.cn/article/ccoggop.html


咨詢
建站咨詢
