外观
UDP 服务器
2025-10-29
概述
本文将介绍如何基于 睿擎工业开发平台 实现 UDP 服务器通信,以开发板作为 UDP 服务器与客户端交互为例,演示数据的接收操作,并通过实际运行验证通信功能,帮助读者掌握 UDP 协议的无连接通信流程及本平台下的网络编程方法。
UDP 协议
UDP 协议是用于客户端-服务器模式的一种传输协议,如今的很多通信软件都是利用这个协议实现的,如腾讯 QQ 发送消息用的就是 UDP 协议。UDP 与 TCP 的不同之处是,他的通信不需要建立连接的过程。
UDP 服务端
开发板作为 UDP 服务端,与 UDP 客户器进行通信,UDP 服务端将收到消息打印出来。
创建工程点击展开
依次点击 “文件” -> “新建” -> "RT-Thread RuiChing App 项目"。

在弹出新建向导中选择 开发版 、BSP: 、示例 、 调试器/下载器。选择好之后点击 “完成”。

点击 “完成” 后,等待工程创建完成。

创建完成。

构建工程点击展开
单击工程使工程进入 Active-Debug 模式。

点击工具栏上的构建按钮进行工程编译。

构建成功后,会显示构建成功的信息。

固件下载点击展开
固化设备树

固化 APP

核心示例代码
工程生成的 udpserver.c 文件中,核心代码为 udpserver()函数,下面详细分析:
套接字初始化与绑定
创建 UDP 套接字,配置服务器网络地址并绑定该套接字。
数据接收
UDP 服务器主循环中,通过
select()实现超时监听,接收客户端数据并处理,若收到则退出循环。
运行示例
操作步骤
查看服务器 IP
在命令行终端中执行
ifconfig命令,查看本机的 IP 地址、子网掩码及默认网关信息。C:\Users\RTT>ipconfig Windows IP 配置 以太网适配器 以太网: 连接特定的 DNS 后缀 . . . . . . . : 本地链接 IPv6 地址. . . . . . . . : fe80::a910:b54e:fcf2:aacd%6 IPv4 地址 . . . . . . . . . . . . : 10.23.8.146 子网掩码 . . . . . . . . . . . . : 255.255.255.0 默认网关. . . . . . . . . . . . . : 10.23.8.254 无线局域网适配器 WLAN: 媒体状态 . . . . . . . . . . . . : 媒体已断开连接 连接特定的 DNS 后缀 . . . . . . . : Lan设置开发板 IP
在串口调试助手中,通过命令行
ifconfig e0 10.23.8.38 10.23.8.254 255.255.255.0设置开发板的 IP 地址、默认网关和子网掩码,确保其与本机 IP 处于同一网段且网络配置一致。msh />ifconfig e0 10.23.8.38 10.23.8.254 255.255.255.0 config : e0 IP addr: 10.23.8.38 Gateway: 10.23.8.254 netmask: 255.255.255.0启动服务器
输入命令:
tcpserver -p 5001,启动 UDP 服务器,然后开启连接监听。msh />udpserver -p 5001 [I/UDP] UDPServer Waiting for client on port 5001...启动客户端
启动客户端程序后,将服务器 IP 设置为开发板 IP 并配置端口号,然后启动 UDP 客户端。

预期结果
UDP 服务器能接收并打印客户端发送的数据。
rtt 终端
msh />udpserver -p 5001
[I/UDP] UDPServer Waiting for client on port 5001...
[D/UDP] Received data = Hello,RT-Thread!sscom
[11:58:47.998]发→◇Hello,RT-Thread!□