UDP 单播、组播、广播与多播全场景
UDP 模式特点
UDP 与 TCP 最大的不同是它无连接——不需要三次握手,直接发数据。这带来了两个特性:快速、不保证送达。在网络设备发现、实时音视频、传感器上报等场景中广泛使用。
在 NetAssist 的 UDP 模式下,通信双方是对等的,没有严格的"服务端"和"客户端"之分。
基本配置步骤
- 协议类型选择 UDP。
- 本地主机地址可以留空(监听所有网卡)或指定某个网卡的 IP。
- 本地主机端口填写一个未被占用的端口,点击 打开 开始监听。
- 在下方的"远程主机地址"和"远程主机端口"填入对端的 IP 和端口,就可以发送数据了。
单播、广播、组播、多播
NetAssist 对 UDP 的四种发送方式都有支持:
| 方式 | 目标地址 | 典型场景 |
|---|---|---|
| 单播 | 具体 IP 如 192.168.1.100 | 点对点通信 |
| 广播 | 255.255.255.255 或子网广播如 192.168.1.255 | 局域网设备发现 |
| 组播 | 224.0.0.0 - 239.255.255.255 区间 | 订阅同一组的设备通信 |
| 多播 | 与组播类似,是组播的另一种叫法 | 同组播 |
IPv6 组播
V5.0.9.0 起支持 IPv6。IPv6 的组播地址以 ff00::/8 开头,填入组播地址后 NetAssist 会自动加入相应的组播组,接收该组的数据报。
多网卡环境下的路由问题
V5.0.13 修复了 UDP 组播在多网卡环境中可能路由异常的问题。如果电脑有多个网卡(比如同时连 WiFi 和有线、或有虚拟网卡),UDP 数据包可能从错误的网卡发出。解决方法:
- 在"本地主机地址"处显式指定你想使用的网卡 IP。
- 或者临时关闭其他不用的网卡,减少路由混乱。
与 TCP 模式的核心差异
- UDP 不需要"打开监听"和"连接"两步操作,点一次"打开"即可同时收发。
- UDP 不保证对方一定能收到,发完就扔,没有确认机制。
- UDP 没有多连接列表——所有来自不同远端的数据包都会混在同一个接收区,通过来源地址区分。
联调实操示例
场景:调试局域网内的传感器广播
- 打开 NetAssist,协议类型 UDP,本地端口设为
5000,点击"打开"。 - 在另一个 NetAssist 窗口或你的程序里,向
255.255.255.255:5000广播一条测试消息。 - 第一个窗口的接收区应该能看到这条广播,同时标记来源地址。
场景:向指定传感器发送配置指令
在远程主机地址填传感器的 IP,端口填它的监听端口,发送配置指令字符串即可。