C# 获取发送UDP消息时无法访问的地址

C# 获取发送UDP消息时无法访问的地址,c#,C#,我正在尝试在2个不同地址之间进行UDP通信,因此我的发送代码如下所示: var localEndpoint = new IPEndPoint(IpAddress.Parse("192.168.2.10"), 51111) var remoteEndpoint = new IPEndPoint(IpAddress.Parse("192.168.1.10"), 51111) var sender = new UdpClient (localEndpo

我正在尝试在2个不同地址之间进行UDP通信,因此我的发送代码如下所示:

 var localEndpoint = new IPEndPoint(IpAddress.Parse("192.168.2.10"), 51111)
 var remoteEndpoint = new IPEndPoint(IpAddress.Parse("192.168.1.10"), 51111)

 var sender  = new UdpClient (localEndpoint)
 sender.Client.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.DontRoute, 1);
 sender.Send (request.RawRequest, request.RawRequest.Length, remoteEndpoint) |> ignore
 sender.Close ()
正如您所看到的,这是两个不同的地址,所以我将接口地址绑定到我的客户端并关闭路由。但当我尝试这一点时,我会收到无法访问的网络消息,但当我尝试相同的地址时,效果很好

我也会广播到此目的地(即192.168.1.2),其中端点为:

new IPEndPoint(IpAddress.Parse("255.255.255.255"), 51111)
sender.Client.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.Broadcast, 1);
它是有效的


我做错了什么?

地址族是一个数组,通常索引0是IPV6,索引1是IPV4。我使用from cmd.exe>IPCONFIG/ALL从接口的questionGet掩码中删除了该族。广播地址(全部255个)与其他IP地址不同。掩码可能会阻塞IP地址或将数据发送到其他接口。