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")
}
应用场景
- 设备通信协议
- 数据采集
- 远程控制
- 自定义协议
注意事项
- 处理连接断开和重连
- 管理多个客户端连接
- 注意数据包边界问题
- 处理网络异常