中文字幕日韩精品一区二区免费_精品一区二区三区国产精品无卡在_国精品无码专区一区二区三区_国产αv三级中文在线

pythonUDP編程的案例分析-創(chuàng)新互聯(lián)

這篇文章主要介紹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ū)別:

  • UDP 是用戶數(shù)據(jù)報協(xié)議,傳輸模式是數(shù)據(jù)報,而 TCP 是基于字節(jié)流的傳輸協(xié)議。
  • UDP 是無連接的協(xié)議,每個數(shù)據(jù)報都是一個獨(dú)立的信息,包括完整的源地址或目的地址,它在網(wǎng)絡(luò)上以任何可能的路徑傳往目的地,因此能否到達(dá)目的地,到達(dá)目的地的時間以及內(nèi)容的正確性都是不能被保證的。
  • UDP 是簡單不可靠的協(xié)議,它不提供可靠性,只是把數(shù)據(jù)包發(fā)送出去,并不保證能夠到達(dá)目的地。由于它不需要在客戶端和服務(wù)端之間建立連接,也沒有超時重發(fā)機(jī)制,所以傳輸速度很快。
     

從以上特點(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:

python UDP編程的案例分析

UDP服務(wù)器的建立可以歸納這幾步:

  • 創(chuàng)建 socket(套接字)
  • 綁定 socket 的 IP 地址和端口號
  • 接收客戶端數(shù)據(jù)
  • 關(guān)閉連接

udp客戶端的創(chuàng)建可總結(jié)為這幾步:

  • 創(chuàng)建 socket(套接字)
  • 向服務(wù)器發(fā)送數(shù)據(jù)
  • 關(guān)閉連接
     

這里需要注意的是 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)

成都網(wǎng)站建設(shè)公司
台南市| 德江县| 高州市| 丰都县| 怀仁县| 宁津县| 深水埗区| 文登市| 乐昌市| 康马县| 运城市| 上饶县| 察哈| 冕宁县| 金沙县| 桐庐县| 永寿县| 扬中市| 镇沅| 温泉县| 昔阳县| 赫章县| 宁阳县| 平原县| 鸡泽县| 泰安市| 临朐县| 洛隆县| 呼和浩特市| 肇庆市| 靖边县| 兴宁市| 永嘉县| 宁河县| 株洲市| 繁峙县| 墨玉县| 康平县| 兰考县| 高唐县| 通城县|