c# - 获取无法到达的地址发送 UDP 消息
问题描述
我正在尝试在 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 ()
如您所见,它们是 2 个不同的地址,因此我将接口地址绑定到客户端并关闭路由。但是当我尝试这个时,我收到了无法访问的网络消息,但是当我尝试相同的地址系列时它可以正常工作。
我也向这个目的地(即 192.168.1.2)广播,其中端点是:
new IPEndPoint(IpAddress.Parse("255.255.255.255"), 51111)
sender.Client.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.Broadcast, 1);
它有效。
我究竟做错了什么?
解决方案
推荐阅读
- c++ - 我不能用 std::cin 输入韩文吗?
- youtube-api - YouTube Data API v3 每天的查询配额变为 0
- postgresql - 分层查询 - 当所有孩子都在场时显示父母姓名
- excel - 自动筛选后如何选择第一个可见行?
- java - 从数组java中查找丢失的负元素
- c# - C# Dynamics 365:将查找值设置为 null 或空白
- amazon-web-services - 使用 Boto3 如何从 AWS s3 下载文件列表作为 zip 文件维护文件夹结构?
- javascript - Dreamhost 上的节点 js discord js 仪表板
- regex - 获取字符串直到最后一次出现,没有正则表达式中的最后一个字符
- vba - Word VBA 查找和替换