Skip to content

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不保证数据包到达
  • 注意数据包大小限制
  • 处理网络丢包情况
  • 组播需要网络支持

蜀ICP备2025139593号