這篇文章主要介紹python UDP編程的案例分析,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
前面我們講了 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é)議,提供面向事務的簡單不可靠信息傳送服務。
從這個定義中,我們可以總結出 UDP 的幾個特點以及其與 TCP 的區(qū)別:
從以上特點,我們可以看到 UDP 適合應用在每次傳輸數(shù)據(jù)量小、對數(shù)據(jù)完整性要求不高、對傳輸速度要求高的領域。這里面最典型的就是即時通信的場景,微信是一個很常見的例子。相信大家在使用微信的時候都遇到過先發(fā)的消息后收到,或者有些發(fā)送的消息對方?jīng)]有收到的情況吧,這就是 UDP 協(xié)議典型的特點,不保證傳輸數(shù)據(jù)的完整性和順序性。除此之外, UDP 還應用在在線視頻、網(wǎng)絡電話等場景。
UDP 傳輸過程
我們在講 TCP 的時候,我們說 TCP 客戶端和服務端必須先連接才可以傳輸數(shù)據(jù):客戶端先請求連接服務器,服務器接受連接請求,然后雙方才可以通信。在 UDP 協(xié)議里,客戶端只需要知道服務器的地址和端口號,就可以直接發(fā)送數(shù)據(jù)了。
我們來看下 UDP 傳輸?shù)牧鞒虉D:
UDP服務器的建立可以歸納這幾步:
udp客戶端的創(chuàng)建可總結為這幾步:
這里需要注意的是 UDP 客戶端連接到服務器的 IP 和端口號必須是 UDP 服務器的 IP 和監(jiān)聽的端口號,服務器服務器只需要綁定 IP 和端口號,就可以時刻準備接收客戶端發(fā)送的數(shù)據(jù),此時服務器處于阻塞狀態(tài),直到接收到數(shù)據(jù)為止。
UDP 客戶端
創(chuàng)建 socket,可以這樣做:
# 導入socket庫 import socket # 創(chuàng)建一個socket s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
標題名稱:pythonUDP編程的案例分析-創(chuàng)新互聯(lián)
文章分享:http://www.chinadenli.net/article10/ddcedo.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供手機網(wǎng)站建設、品牌網(wǎng)站制作、ChatGPT、移動網(wǎng)站建設、服務器托管、自適應網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)