這篇文章主要介紹python UDP編程的案例分析,文中介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們一定要看完!
目前成都創(chuàng)新互聯(lián)已為超過千家的企業(yè)提供了網(wǎng)站建設(shè)、域名、虛擬空間、成都網(wǎng)站托管、企業(yè)網(wǎng)站設(shè)計、濱城網(wǎng)站維護(hù)等服務(wù),公司將堅持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。前面我們講了 TCP 編程,我們知道 TCP 可以建立可靠連接,并且通信雙方都可以以流的形式發(fā)送數(shù)據(jù)。本文我們再來介紹另一個常用的協(xié)議–UDP。相對TCP,UDP則是面向無連接的協(xié)議。
UDP 協(xié)議
我們來看 UDP 的定義:
UDP 協(xié)議(User Datagram Protocol),中文名是用戶數(shù)據(jù)報協(xié)議,是 OSI(Open System Interconnection,開放式系統(tǒng)互聯(lián)) 參考模型中一種無連接的傳輸層協(xié)議,提供面向事務(wù)的簡單不可靠信息傳送服務(wù)。
從這個定義中,我們可以總結(jié)出 UDP 的幾個特點(diǎn)以及其與 TCP 的區(qū)別:
從以上特點(diǎn),我們可以看到 UDP 適合應(yīng)用在每次傳輸數(shù)據(jù)量小、對數(shù)據(jù)完整性要求不高、對傳輸速度要求高的領(lǐng)域。這里面最典型的就是即時通信的場景,微信是一個很常見的例子。相信大家在使用微信的時候都遇到過先發(fā)的消息后收到,或者有些發(fā)送的消息對方?jīng)]有收到的情況吧,這就是 UDP 協(xié)議典型的特點(diǎn),不保證傳輸數(shù)據(jù)的完整性和順序性。除此之外, UDP 還應(yīng)用在在線視頻、網(wǎng)絡(luò)電話等場景。
UDP 傳輸過程
我們在講 TCP 的時候,我們說 TCP 客戶端和服務(wù)端必須先連接才可以傳輸數(shù)據(jù):客戶端先請求連接服務(wù)器,服務(wù)器接受連接請求,然后雙方才可以通信。在 UDP 協(xié)議里,客戶端只需要知道服務(wù)器的地址和端口號,就可以直接發(fā)送數(shù)據(jù)了。
我們來看下 UDP 傳輸?shù)牧鞒虉D:
UDP服務(wù)器的建立可以歸納這幾步:
udp客戶端的創(chuàng)建可總結(jié)為這幾步:
這里需要注意的是 UDP 客戶端連接到服務(wù)器的 IP 和端口號必須是 UDP 服務(wù)器的 IP 和監(jiān)聽的端口號,服務(wù)器服務(wù)器只需要綁定 IP 和端口號,就可以時刻準(zhǔn)備接收客戶端發(fā)送的數(shù)據(jù),此時服務(wù)器處于阻塞狀態(tài),直到接收到數(shù)據(jù)為止。
UDP 客戶端
創(chuàng)建 socket,可以這樣做:
# 導(dǎo)入socket庫 import socket # 創(chuàng)建一個socket s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
標(biāo)題名稱:pythonUDP編程的案例分析-創(chuàng)新互聯(lián)
文章分享:http://www.rwnh.cn/article10/ddcedo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供手機(jī)網(wǎng)站建設(shè)、品牌網(wǎng)站制作、ChatGPT、移動網(wǎng)站建設(shè)、服務(wù)器托管、自適應(yīng)網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容