gpt4 book ai didi

c#知道我们用哪个IP与另一个IP通信?

转载 作者:太空狗 更新时间:2023-10-30 00:32:52 25 4
gpt4 key购买 nike

使用自制的发现工具,我发现了我感兴趣的服务列表。

我有他们的 IP、服务名称、端口、主机……但是要使用它们,我必须向客户端库指定我们将使用的 IP。

由于我有好几张网卡,我需要检测哪个接口(interface)用于与我知道的目标IP通信,然后将这个IPAddress给我的库。

但是我如何检测应该使用哪个接口(interface) IP?

我尝试在互联网上进行一些搜索,但我认为我没有合适的关键字,因为我没有找到任何相关内容。

最佳答案

我已经从我开发的网络库中提取了相关方法给你,networkComms.net :

/// <summary>
/// Determines the most appropriate local end point to contact the provided remote end point.
/// Testing shows this method takes on average 1.6ms to return.
/// </summary>
/// <param name="remoteIPEndPoint">The remote end point</param>
/// <returns>The selected local end point</returns>
public static IPEndPoint BestLocalEndPoint(IPEndPoint remoteIPEndPoint)
{
Socket testSocket = new Socket(remoteIPEndPoint.AddressFamily, SocketType.Dgram, ProtocolType.Udp);
testSocket.Connect(remoteIPEndPoint);
return (IPEndPoint)testSocket.LocalEndPoint;
}

获得正确的 IP 后,您可以遍历 NetworkInterface.GetAllNetworkInterfaces() 以找到匹配的适配器。

关于c#知道我们用哪个IP与另一个IP通信?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15086863/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com