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
| 属性 | 默认 | 说明 |
|---|---|---|
Host | 127.0.0.1 | 主机名或 IP |
Port | 502 | 对端端口 |
ConnectTimeoutMilliseconds | 3000 | 连接超时 |
接收在后台进行。对端关闭连接后,通道进入 Faulted。
UDP
| 属性 | 默认 | 说明 |
|---|---|---|
Host | 127.0.0.1 | 对端主机名或 IP |
Port | 502 | 对端端口 |
LocalPort | 0 | 本地绑定端口,0 表示系统自动分配 |
ReceiveBufferSize | 8192 | 系统接收缓冲区大小 |
当前不提供 TCP 服务端和 UDP 服务端。连接或收发失败时请确认对端监听、防火墙放行和本地端口未被占用;联调阶段可以改用虚拟通道。