跳到主要内容

TCP / UDP 客户端

AddTcpClient 打开 TCP 连接,与串口、虚拟通道一样呈现为 IChannel

builder.AddTcpClient("plc", "192.168.1.10", 502);

需要修改连接超时:

builder.AddTcpClient("plc", options =>
{
options.Host = "192.168.1.10";
options.Port = 502;
options.ConnectTimeoutMilliseconds = 2000;
});

默认端口是 502,适合 Modbus TCP。其它二进制协议也可以使用,再叠加 自定义帧

UDP 客户端

AddUdpClient 面向固定对端发送和接收 UDP 数据报。每个收到的数据报都会触发一次 DataReceived,业务代码仍然只依赖 IChannel

builder.AddUdpClient("sensor", "192.168.1.20", 1502);

需要固定本地端口时使用选项回调:

builder.AddUdpClient("sensor", options =>
{
options.Host = "192.168.1.20";
options.Port = 1502;
options.LocalPort = 1502;
});

UDP 不建立连接,也不保证送达、顺序或重传。如果现场协议需要请求应答,请在上层协议里设置超时和重试。

选项

TCP

属性默认说明
Host127.0.0.1主机名或 IP
Port502对端端口
ConnectTimeoutMilliseconds3000连接超时

接收在后台进行。对端关闭连接后,通道进入 Faulted

UDP

属性默认说明
Host127.0.0.1对端主机名或 IP
Port502对端端口
LocalPort0本地绑定端口,0 表示系统自动分配
ReceiveBufferSize8192系统接收缓冲区大小

当前不提供 TCP 服务端和 UDP 服务端。连接或收发失败时请确认对端监听、防火墙放行和本地端口未被占用;联调阶段可以改用虚拟通道。