.net 中的 IP 路由表查找

cra*_*guy 5 .net c# ip routes

我有一台多宿主机器,需要回答这个问题:

给定远程计算机的 IP 地址,哪个本地接口适合用于通信。

这需要在 C# 中完成。我可以使用 Win32 Socket 和 SIO_ROUTING_INTERFACE_QUERY 执行此查询,但在 .net 框架文档中查看,我没有找到等效的查询。

Dun*_*owe 1

我不知道这一点,所以只是在 Visual Studio 对象浏览器中查看了一下,看起来您可以从System.Net.Sockets命名空间执行此操作。

在该命名空间中有一个Socket包含方法的类IOControl。此方法的重载之一采用一个IOControlCode(同一命名空间中的枚举),其中包含“RoutingInterfaceQuery”的条目。

我现在将尝试将一些代码放在一起作为示例。