【嵌入式学习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.mzph.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模块 源代…