【嵌入式學習3】UDP發送端、接收端

目錄

1、發送端

2、接收端

3、UDP廣播


1、發送端

from socket import *udp_socket = socket(AF_INET,SOCK_DGRAM)
udp_socket.bind(("127.0.0.1",3333))data_str = "UDP發送端數據"
data_bytes = data_str.encode("utf-8")
udp_socket.sendto(data_bytes,("127.0.0.1",8080))udp_socket.close()

2、接收端

from socket import *udp_socket = socket(AF_INET, SOCK_DGRAM)# 綁定本地的相關信息,如果一個網絡程序不綁定,則系統會隨機分配
# ip一般不用寫,表示本機的任何一個ip
udp_socket.bind(('', 8080))
print("服務器啟動,等待接收數據...")
# 等待接收對方發送的數據
recv_data = udp_socket.recvfrom(1024) 
print(recv_data[0].decode('utf-8'))
print("發送方地址:", recv_data[1])udp_socket.close()

3、UDP廣播

發送端

import socketdef udp_broadcast_send():# 創建 UDP 套接字udp_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)# 設置允許發送廣播udp_socket.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, True)# 準備發送的消息send_content = "大家好,我是板燒雞腿堡"send_data = send_content.encode("utf-8")# 指定廣播地址和端口broadcast_address = ("192.168.3.255", 8080)# 發送廣播消息udp_socket.sendto(send_data, broadcast_address)print(f"已發送廣播消息: {send_content}")# 關閉套接字udp_socket.close()if __name__ == "__main__":udp_broadcast_send()

接收端

import socketdef udp_broadcast_receive():# 創建 UDP 套接字udp_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)# 綁定本地地址和端口local_address = ("", 8080)  # 空字符串表示綁定到所有可用接口udp_socket.bind(local_address)print("UDP 接收端啟動,等待廣播消息...")while True:# 接收廣播消息recv_data, client_address = udp_socket.recvfrom(1024)print(f"收到廣播消息: {recv_data.decode('utf-8')},來自: {client_address}")# 如果需要,可以在這里添加退出條件# break# 關閉套接字udp_socket.close()if __name__ == "__main__":udp_broadcast_receive()

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/75920.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/75920.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/75920.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

AI重構SEO關鍵詞精準布局

內容概要 在傳統SEO策略面臨搜索場景碎片化、用戶意圖復雜化的挑戰下,AI技術通過多維數據分析與算法建模,正在重構關鍵詞布局的邏輯框架。基于自然語言處理(NLP)的語義分析能力,AI可精準識別搜索詞背后的需求層級&…

谷歌發布網絡安全AI新模型Sec-Gemini v1

谷歌近日宣布推出實驗性AI模型Sec-Gemini v1,旨在通過人工智能技術革新網絡安全防御體系。該模型由Sec-Gemini團隊成員Elie Burzstein和Marianna Tishchenko共同研發,旨在幫助網絡安全人員應對日益復雜的網絡威脅。 攻防不對稱的破局之道 Sec-Gemini團隊…

IntelliJ IDEA下開發FPGA——FPGA開發體驗提升__下

前言 由于Quartus寫代碼比較費勁,雖然新版已經有了代碼補全,但體驗上還有所欠缺。于是使用VS Code開發,效果如下所示,代碼樣式和基本的代碼補全已經可以滿足開發,其余工作則交由Quartus完成 但VS Code的自帶的git功能&…

Python語言的需求分析

Python語言的需求分析 引言 在信息技術快速發展的今天,編程語言的選擇對于軟件開發的成功與否起著至關重要的作用。Python作為一種高級編程語言,以其簡潔易讀的語法和強大的功能受到越來越多開發者的青睞。通過對Python語言的需求分析,我們…

抓wifi無線空口包之Ubuntu抓包(二)

一、設置網卡信道和頻段,并抓包 1、使用iwconfig查看自己機器的無線網卡名稱 wangwang-ThinkCentre-M930t-N000:~$ iwconfig lo no wireless extensions. eno1 no wireless extensions. enxc8a3624ab329 no wireless extensions. wlx90de80d1b5b1 IE…

深度學習實戰電力設備缺陷檢測

本文采用YOLOv11作為核心算法框架,結合PyQt5構建用戶界面,使用Python3進行開發。YOLOv11以其高效的實時檢測能力,在多個目標檢測任務中展現出卓越性能。本研究針對電力設備缺陷數據集進行訓練和優化,該數據集包含豐富的電力設備缺…

Day1:前端項目uni-app壁紙實戰

uni-app官網下載HBuilder。 uni-app快速上手 | uni-app官網 點擊HBuilder 安裝 新建項目 工具——插件安裝 安裝uni-app(vue3) 我們先來準備一下: 先在wallpaper下新建目錄 我已經建過了 同樣,再在common下建images和style目錄&…

mac命令操作

mac命令操作 快速刪除一行: control u 剪切文件:步驟1、先進行Command c 進行選擇復制文件,2、進行commandoptionv進行移動文件,如果commandv是進行復制文件。 commandcontrolD 三個鍵即可屏幕取詞進行翻譯 mac中可以使用快捷方…

C#語言的加密貨幣

C#語言與加密貨幣:一個開發者的探索之旅 引言 隨著區塊鏈技術的迅猛發展,加密貨幣的應用已經滲透到我們生活的方方面面。作為一種新興的數字資產,加密貨幣不僅改變了傳統的投資方式,而且對全球經濟產生了深遠影響。其中&#xf…

Mysql 概念

MySQL 是一種 關系型數據庫管理系統(RDBMS),它使用 結構化查詢語言(SQL) 來管理和操作數據。它最初由瑞典公司 MySQL AB 開發,后來被 Sun Microsystems 收購,現在屬于 Oracle 公司。 一、MySQL…

Golang 項目平滑重啟

引言 平滑重啟(Graceful Restart)技術作為一種常用的解決方案,通過允許新進程接管而不中斷現有的請求,確保了系統的穩定運行和業務連續性。同時目前公司的服務重啟絕大部分也都適用的 go 的平滑重啟技術。 本部分將對平滑重啟的…

SQL SELECT DISTINCT 語句詳解:精準去重的藝術

在數據驅動的時代,數據質量直接影響決策的準確性。面對海量數據時,重復記錄如同沙礫中的金屑,既占用存儲空間,又干擾分析結果。SELECT DISTINCT 語句便是那把高效的篩子,助您快速剔除冗余,提取唯一值。本文…

16-產品經理-需求的評審

在創建需求的時候,有一個"不需要評審"的復選框,如果選中該復選框的話,需求的創建成功后狀態是激活的。 但大部分情況下面,需求還是需要評審的。 即使產品完全由一個人負責,也可以將一些不成熟的想法存為草…

計算機網絡學習前言

前言 該部分說明計算機網絡是什么?它有什么作用和功能?值不值得我們去學習?我們該如何學習?這幾個部分去大概介紹計算機網絡這門課程,往后會介紹計算機網絡的具體知識點。 1.計算機網絡是什么? 計算機網…

python全棧-JavaScript

python全棧-js 文章目錄 js基礎變量與常量JavaScript引入到HTML文件中JavaScript注釋與常見輸出方式 數據類型typeof 顯示數據類型算數運算符之加法運算符運算符之算術運算符運算符之賦值運算符運算符之比較運算符運算符之布爾運算符運算符之位運算符運算符優先級類型轉換 控制…

C語言一個偶數能表示為兩個素數之和

我們可以先找到其中的一個素數,然后用這個偶數減去這個素數就可以求得了。 運行結果:

vue實現大轉盤抽獎

用vue實現一個簡單的大轉盤抽獎案例 大轉盤 一 轉盤布局 <div class"lucky-wheel-content"><div class"lucky-wheel-prize" :style"wheelStyle" :class"isStart ? animated-icon : "transitionend"onWheelTransitionE…

Docker 核心組件

一、前言 Docker 已成為現代 DevOps 和微服務架構中的核心工具。為了更深入地理解它的工作機制&#xff0c;本文將系統介紹 Docker 的核心組件&#xff0c;配合結構圖直觀展示架構&#xff0c;同時拓展高級用法&#xff0c;幫助讀者全面掌握容器化技術的內核。 二、Docker 核心…

ModuleNotFoundError: No module named ‘pandas‘

在使用Python繪制散點圖表的時候&#xff0c;運行程序報錯&#xff0c;如圖&#xff1a; 報錯顯示Python 環境中可能沒有安裝 pandas 庫&#xff0c;執行pip list命令查看&#xff0c;果然沒有安裝pandas 庫&#xff0c;如圖&#xff1a; 執行命令&#xff1a;python -m pip in…

(51單片機)矩陣按鍵密碼鎖表白(C語言代碼編撰)(矩陣按鍵教程)(LCD1602淺教程)

目錄 源代碼 main.c MatrixKey.c MatrixKey.h LCD1602.c LCD1602.h Delay.c Delay.h 運行效果圖&#xff1a; 第一步&#xff1a; 第二步&#xff1a; 第三步&#xff1a; 第四步&#xff1a; 代碼解析與教程&#xff1a; 延時函數Delay LCD1602 MatrixKey模塊 源代…