最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

對python中UDP,socket的使用詳解

 更新時間:2019年08月22日 10:14:16   作者:段振軒  
今天小編就為大家分享一篇對python中UDP,socket的使用詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

講到UDP和TCP之前咱們先了解一下socket

Socket

socket簡稱套接字,是進程間通信的一種方式。與其他的方式的進程間的通訊的方式不同的是,socket是實現(xiàn)了主機間進程間的通訊。我們網(wǎng)絡上的各種服務都是基于socket來完成的。例如QQ.微信。

怎么樣創(chuàng)建socket呢。

創(chuàng)建一個tcpsocket:

s = socket.socket(socket.AF_INET,socket.SOCK_STREAM) 

創(chuàng)建一個UDP類型的socket;

# # 創(chuàng)建套接字
# udpSocket = socket.socket(socket.AF_INET,socket.SOCK_DGRAM)

UDP介紹

udp—–數(shù)據(jù)報文協(xié)議,是一個無連接的簡單的面向數(shù)據(jù)報的運輸層協(xié)議,UDP不提供可靠性,他只是將應用程序傳送給IP層的數(shù)據(jù)報文發(fā)送出去,并不保證能否達到目的地。由于UDP在傳輸?shù)倪^程中不需要和服務器建立鏈接。且沒有超時重發(fā)的的機制。故而傳輸很快。

下面簡單通過示意圖來研究一下UDP。

UDP 發(fā)送數(shù)據(jù)

import socket
# 設置socket
udpSocket = socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
# 設置目的端口和IP
sendArr = ('192.168.31.174',65535)
sendData = input('請輸入你要發(fā)送的信息')
# 發(fā)送數(shù)據(jù),此處有一個坑是sendto()里面的參數(shù)必須二進制數(shù)據(jù),不能直接傳字符串
udpSocket.sendto(sendData.encode('utf-8'),sendArr)

udpSocket.close()

UDP 接收數(shù)據(jù)

import socket
# 創(chuàng)建UDP套接字

udpSocket = socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
# 綁定端口號
udpSocket.bind(("", 7789))
recvData = udpSocket.recvfrom(1024)
content, destInfo = recvData

print("content is %s"%content)
print("content is %s"%content.decode("utf-8"))

print(recvData)
udpSocket.close()

從打印結果我們可以看出recvData中包含是一個元祖,元祖接收到數(shù)據(jù)方ip.和端口號的。

發(fā)送通過端口號和IP將數(shù)據(jù)發(fā)送給接收方,接收方監(jiān)聽端口,這樣就完成一次UDP通信的過程,這個過程涉及到,發(fā)送方組包,接收解包的過程。

相關文章

  • Matplotlib多子圖使用一個圖例的實現(xiàn)

    Matplotlib多子圖使用一個圖例的實現(xiàn)

    多子圖是Matplotlib中的一個功能,可以在同一圖形中創(chuàng)建多個子圖,本文主要介紹了Matplotlib多子圖使用一個圖例的實現(xiàn),感興趣的可以了解一下
    2023-08-08
  • python實現(xiàn)取余操作的簡單實例

    python實現(xiàn)取余操作的簡單實例

    在本篇文章里小編給各位分享的是一篇關于python實現(xiàn)取余操作的簡單實例內容,需要的朋友們可以參考下。
    2020-08-08
  • 如何利用Python寫個坦克大戰(zhàn)

    如何利用Python寫個坦克大戰(zhàn)

    這篇文章主要給大家介紹了關于如何利用Python寫個坦克大戰(zhàn)的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-11-11
  • python 基于Apscheduler實現(xiàn)定時任務

    python 基于Apscheduler實現(xiàn)定時任務

    這篇文章主要介紹了python Apscheduler的使用方法,幫助大家更好的理解和使用python,感興趣的朋友可以了解下
    2020-12-12
  • python批量翻譯excel表格中的英文

    python批量翻譯excel表格中的英文

    本文主要介紹了python批量翻譯excel表格中的英文,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-02-02
  • Python實現(xiàn)繪制3D條形圖的示例詳解

    Python實現(xiàn)繪制3D條形圖的示例詳解

    這篇文章主要為大家學習介紹了如何利用Python實現(xiàn)繪制3D條形圖,文中的示例代碼講解詳細,具有一定的學習價值,感興趣的小伙伴可以了解一下
    2023-07-07
  • 如何運行帶參數(shù)的python腳本

    如何運行帶參數(shù)的python腳本

    這篇文章主要介紹了如何運行帶參數(shù)的python腳本,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-11-11
  • 使用Python實現(xiàn)檢測并刪除離群值

    使用Python實現(xiàn)檢測并刪除離群值

    離群值是一個數(shù)據(jù)項/對象,它明顯偏離其余的(所謂的正常)對象,本文主要為大家詳細介紹了如何使用Python實現(xiàn)檢測并刪除離群值,感興趣的小伙伴可以了解下
    2024-01-01
  • 3個適合新手練習的python小游戲

    3個適合新手練習的python小游戲

    這篇文章主要分析的是3個適合新手練習的python小游戲,初學者嘛就應該多練手,下文分享的python小游戲歡迎大家來玩,需要的小伙伴也可以參考一下
    2022-01-01
  • python使用原始套接字發(fā)送二層包(鏈路層幀)的方法

    python使用原始套接字發(fā)送二層包(鏈路層幀)的方法

    今天小編就為大家分享一篇python使用原始套接字發(fā)送二層包(鏈路層幀)的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-07-07

最新評論

泸定县| 青铜峡市| 富顺县| 德阳市| 遵义县| 齐齐哈尔市| 荥阳市| 当雄县| 阿坝县| 闽清县| 五大连池市| 鲁甸县| 阿拉善左旗| 于田县| 舞阳县| 虞城县| 锡林浩特市| 洞头县| 商都县| 淅川县| 新宁县| 涿州市| 汕头市| 望奎县| 孟津县| 介休市| 高要市| 栾川县| 顺昌县| 理塘县| 商南县| 饶河县| 嵊泗县| 徐州市| 分宜县| 太湖县| 长治市| 策勒县| 莒南县| 剑川县| 昌宁县|