Python 網絡編程之UDP發送接收數據功能示例【基于socket套接字】

 更新時間:2019年10月11日 11:34:05   作者:houyanhua1   我要評論
這篇文章主要介紹了Python 網絡編程之UDP發送接收數據功能,結合實例形式分析了Python使用socket套接字實現基于UDP協議的數據發送端與接收端相關操作技巧,需要的朋友可以參考下

本文實例講述了Python 網絡編程之UDP發送接收數據功能。分享給大家供大家參考,具體如下:

demo.py(UDP發送數據):

import socket # 導入socket模塊
def main():
  # 創建一個udp套接字
  udp_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
  # 綁定本機ip和端口號 (發送數據時,如果不綁定,系統會隨機分配端口號。接收數據時,一般需要手動綁定ip和端口)
  udp_socket.bind(("", 7890)) # 空字符串""表示本地ip
  # 從鍵盤獲取數據
  send_data = input("請輸入要發送的數據:")
  # 可以使用套接字接收和發送數據
  # udp_socket.sendto(b"hahahah", ("192.168.33.53", 7788)) # 字符串前的b表示bytes字節類型
  udp_socket.sendto(send_data.encode("utf-8"), ("192.168.33.53", 7788)) # encode將字符串轉成bytes類型
  # 關閉套接字
  udp_socket.close()
if __name__ == "__main__":
  main()

demo.py(UDP接收數據):

import socket
def main():
  # 1. 創建套接字
  udp_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
  # 2. 綁定本機ip和端口
  udp_socket.bind(("", 7788)) # 綁定本機的ip和端口(元組類型) ""表示本機ip
  # 3. 用套接字接收數據
  recv_data = udp_socket.recvfrom(1024)  # 1024表示本次接收的最大字節數。會阻塞代碼,直到接收到數據
  # recv_data這個變量中存儲的是一個元組 (接收到的數據,(發送方的ip, port))
  recv_msg = recv_data[0] # 字節類型 存儲接收到的數據
  send_addr = recv_data[1] # 元組 存儲發送方的地址和端口信息
  # 4. 打印接收到的數據
  # print(recv_data) # 元組 (接收到的數據,(發送方的ip, port))
  print("%s:%s" % (str(send_addr), recv_msg.decode("gbk"))) # decode將字節轉成字符串
  # 5. 關閉套接字
  udp_socket.close()
if __name__ == "__main__":
  main()

更多關于Python相關內容可查看本站專題:《Python Socket編程技巧總結》、《Python數據結構與算法教程》、《Python函數使用技巧總結》、《Python字符串操作技巧匯總》、《Python入門與進階經典教程》及《Python文件與目錄操作技巧匯總

希望本文所述對大家Python程序設計有所幫助。

相關文章

  • Python使用Selenium模塊模擬瀏覽器抓取斗魚直播間信息示例

    Python使用Selenium模塊模擬瀏覽器抓取斗魚直播間信息示例

    這篇文章主要介紹了Python使用Selenium模塊模擬瀏覽器抓取斗魚直播間信息,涉及Python基于Selenium模塊的模擬瀏覽器登陸、解析、抓取信息,以及MongoDB數據庫的連接、寫入等相關操作技巧,需要的朋友可以參考下
    2018-07-07
  • Python 返回漢字的漢語拼音

    Python 返回漢字的漢語拼音

    最近做程序用到漢字轉漢語拼音的問題,首先想到Google一下,但是拿來看了一下源碼,不是甚清楚。
    2009-02-02
  • python多任務之協程的使用詳解

    python多任務之協程的使用詳解

    這篇文章主要介紹了python多任務之協程的使用,本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-08-08
  • Python中itertools模塊用法詳解

    Python中itertools模塊用法詳解

    這篇文章主要介紹了Python中itertools模塊用法,詳細的講述了itertools模塊中常見函數的用法及相關示例,有助于深入掌握Python程序設計,需要的朋友可以參考下
    2014-09-09
  • python實現的config文件讀寫功能示例

    python實現的config文件讀寫功能示例

    這篇文章主要介紹了python實現的config文件讀寫功能,結合實例形式分析了Python文件讀寫相關操作技巧,需要的朋友可以參考下
    2019-09-09
  • Python實現壓縮與解壓gzip大文件的方法

    Python實現壓縮與解壓gzip大文件的方法

    這篇文章主要介紹了Python實現壓縮與解壓gzip大文件的方法,分析了Python針對壓縮成gzip文件及解壓gzip文件的方法,并給出了相應的封裝類,需要的朋友可以參考下
    2016-09-09
  • python2與python3爬蟲中get與post對比解析

    python2與python3爬蟲中get與post對比解析

    這篇文章主要介紹了python2與python3爬蟲中get與post對比解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-09-09
  • 在python里從協程返回一個值的示例

    在python里從協程返回一個值的示例

    今天小編就為大家分享一篇在python里從協程返回一個值的示例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-02-02
  • python使用Flask框架獲取用戶IP地址的方法

    python使用Flask框架獲取用戶IP地址的方法

    這篇文章主要介紹了python使用Flask框架獲取用戶IP地址的方法,實例分析了Python使用Flask框架remote_addr獲取IP的技巧,非常具有實用價值,需要的朋友可以參考下
    2015-03-03
  • Python性能提升之延遲初始化

    Python性能提升之延遲初始化

    本文給大家分享的是在Python中使用延遲計算來提升性能的方法,非常的實用,有需要的小伙伴可以參考下
    2016-12-12

最新評論

pc蛋蛋计划下载