Skip to content

TCP

TCP客户端和服务器通信。

输入

TCP out节点:要发送的数据 TCP in节点:无输入

输出

TCP out节点:无输出 TCP in节点:接收到的TCP数据

详细说明

TCP节点包含两种类型:TCP in(接收)和TCP out(发送)。

支持客户端和服务器模式。

TCP in节点

接收TCP连接和数据。

配置选项

  • 类型: 监听(服务器)或连接(客户端)
  • 端口/主机: 服务器端口或客户端主机地址
  • 输出: 数据格式
    • 流(连续数据)
    • 单个消息
  • 数据类型:
    • Buffer
    • 字符串
    • Base64

输出消息格式

javascript
msg = {
    payload: "接收的数据",
    ip: "192.168.1.100",    // 客户端IP
    port: 12345,            // 客户端端口
    _session: {
        type: "tcp",
        id: "client123"
    }
}

TCP out节点

发送TCP数据。

配置选项

  • 类型: 监听(服务器)或连接(客户端)
  • 端口/主机: 服务器端口或客户端主机地址
  • 关闭连接: 发送后是否关闭连接

输入消息格式

javascript
msg = {
    payload: "要发送的数据",
    _session: {          // 可选,指定发送目标
        type: "tcp",
        id: "client123"
    }
}

示例

TCP服务器:

javascript
// TCP in节点(服务器)
// 端口: 8080
// 接收客户端连接和数据
msg = {
    payload: "Hello Server",
    ip: "192.168.1.100",
    port: 54321,
    _session: {
        type: "tcp",
        id: "192.168.1.100:54321"
    }
}

// TCP out节点(服务器)
// 向客户端发送响应
msg = {
    payload: "Hello Client",
    _session: {
        type: "tcp",
        id: "192.168.1.100:54321"
    }
}

TCP客户端:

javascript
// TCP in节点(客户端)
// 主机: 192.168.1.200:8080
// 接收服务器数据
msg = {
    payload: "Server Response"
}

// TCP out节点(客户端)
// 发送数据到服务器
msg = {
    payload: "Client Request"
}

二进制数据:

javascript
// 发送Buffer数据
msg = {
    payload: Buffer.from([0x01, 0x02, 0x03, 0x04])
}

// 接收Buffer数据
msg = {
    payload: Buffer.from("binary data", "hex")
}

应用场景

  • 设备通信协议
  • 数据采集
  • 远程控制
  • 自定义协议

注意事项

  • 处理连接断开和重连
  • 管理多个客户端连接
  • 注意数据包边界问题
  • 处理网络异常

蜀ICP备2025139593号