在UDPClient发送中指定本地端口

时间:2016-01-12 10:48:02

标签: c# sockets udp plc

我必须通过C#UdpClient类与PLC通信。

IPEndPoint target = new IPEndPoint(IPAddress.Parse(ip), port);
udpClient = new UdpClient(target.AddressFamily);
udpClient.Connect(target);

var command = CreateWriteHeader(dm, values);
udpClient.Send(command, command.Length);

var data = udpClient.Receive(ref target);

我发送的字节序列是正确的,PLC正在向我发送一个respose,所以我确信正在进行通信。 问题是我收到的响应包含错误代码。

检查协议手册,它似乎是一个“无法写入”的错误代码,我正在发送一个读取请求。 联系PLC支持他们说,对于UDP连接,我的电脑上的本地端口必须与我连接的目标端口(9600)相同,否则PLC拒绝工作。

如何指定我连接的端口? 我看到我可以为UdpClient对象设置一个端口,但它是一个监听端口,对吧?不是我要连接的端口......

0 个答案:

没有答案