UDP
UDP数据包发送和接收。
输入
UDP out节点:要发送的数据包 UDP in节点:无输入
输出
UDP out节点:无输出 UDP in节点:接收到的UDP数据包
详细说明
UDP节点包含两种类型:UDP in(接收)和UDP out(发送)。
UDP是无连接协议,适用于快速数据传输。
UDP in节点
接收UDP数据包。
配置选项
- 端口: 监听端口
- 组播: 是否加入组播组
- 组播地址: 组播IP地址
- 输出: 数据格式
- Buffer
- 字符串
- Base64
输出消息格式
javascript
msg = {
payload: "接收的数据",
ip: "192.168.1.100", // 发送方IP
port: 12345, // 发送方端口
topic: "192.168.1.100:12345"
}
UDP out节点
发送UDP数据包。
配置选项
- 地址: 目标IP地址(可从msg.ip获取)
- 端口: 目标端口(可从msg.port获取)
- 本地端口: 本地绑定端口
- 组播: 是否发送组播
输入消息格式
javascript
msg = {
payload: "要发送的数据",
ip: "192.168.1.200", // 可选,目标IP
port: 8080 // 可选,目标端口
}
示例
基本UDP通信:
javascript
// UDP in节点
// 端口: 8080
// 接收数据包
msg = {
payload: "Hello UDP",
ip: "192.168.1.100",
port: 54321,
topic: "192.168.1.100:54321"
}
// UDP out节点
// 地址: 192.168.1.100:54321
// 发送响应
msg = {
payload: "UDP Response",
ip: "192.168.1.100",
port: 54321
}
组播通信:
javascript
// UDP in节点(组播接收)
// 端口: 8080
// 组播地址: 224.1.1.1
msg = {
payload: "组播消息",
ip: "224.1.1.1",
port: 8080
}
// UDP out节点(组播发送)
// 地址: 224.1.1.1:8080
msg = {
payload: "广播消息",
ip: "224.1.1.1",
port: 8080
}
二进制数据:
javascript
// 发送二进制数据
msg = {
payload: Buffer.from([0x01, 0x02, 0x03, 0x04]),
ip: "192.168.1.100",
port: 8080
}
// 接收二进制数据
msg = {
payload: Buffer.from("binary data"),
ip: "192.168.1.100",
port: 54321
}
广播通信:
javascript
// 广播发送
msg = {
payload: "广播消息",
ip: "255.255.255.255", // 广播地址
port: 8080
}
应用场景
- 设备发现和广播
- 实时数据传输
- 游戏网络通信
- 日志传输
注意事项
- UDP不保证数据包到达
- 注意数据包大小限制
- 处理网络丢包情况
- 组播需要网络支持