【嵌入式学习3】UDP发送端、接收端

目录

1、发送端

2、接收端

3、UDP广播


1、发送端

python 复制代码
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、接收端

python 复制代码
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广播

发送端

python 复制代码
import socket

def 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()

接收端

python 复制代码
import socket

def 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()
相关推荐
蒸蒸yyyyzwd4 小时前
cpp 选手秋招学习笔记 day33
c++·笔记·求职招聘
郝学胜-神的一滴4 小时前
Effective Python 条款 10 :海象运算符_=
开发语言·python·程序人生·开源
wuyk5554 小时前
Python零基础入门第十四章:异常处理(try-except)
开发语言·python
2601_962078194 小时前
Appium+Python+pytest自动化测试框架详解
自动化测试·python·appium·pytest·移动应用
wuyk5554 小时前
【Socket 进阶之路】第 3 章 TCP 三次握手 & 四次挥手深度剖析|连接建立、断开、状态机、TIME_WAIT 核心工程问题
服务器·开发语言·网络·物联网·网络协议·tcp/ip
卷无止境8 小时前
智能体开发环境ADE浅析,编程工具的下一次范式跃迁
后端·python
彧azz10 小时前
图的存储结构详解:邻接矩阵的原理、实现与应用
开发语言·数据结构·学习·php
平头哥AI10 小时前
Day 22 _ 包装错误别丢链_%w、errors.Is 与 errors.As
android·服务器·学习·golang·go
一阵寒风10 小时前
CAM智能化助力PCB 智能制造-培训体系第六章.项目开发学习
学习·制造
QYRdata11 小时前
权威数据披露:2026至2032年边缘云服务CAGR达15.6%,赛道发展驶入快车道
网络·人工智能·云计算·服务发现·边缘计算