gpt4 book ai didi

C#.NET : How to choose which Network adapter to connect my Application at runtime

转载 作者:太空宇宙 更新时间:2023-11-03 15:01:07 25 4
gpt4 key购买 nike

我的笔记本电脑连接到 LAN 和 WIFI,并且有单独的网络连接,我的 SQL 服务器与我的 LAN 在同一个网络中,我有一个功能,在运行查询之前先 PING SQL Server,现在问题是每次我运行我的 Dekstop 应用程序时,它选择 WIFI 连接来 PING 服务器而不是局域网。我可以获得我的网络适配器列表并确定哪个是 LAN 或 WIFI,但我如何告诉我的应用程序使用哪个?

NetworkInterface[] nics = NetworkInterface.GetAllNetworkInterfaces();
foreach (NetworkInterface adapter in nics)
{
if (adapter.OperationalStatus == OperationalStatus.Up)
{
if (adapter.NetworkInterfaceType == NetworkInterfaceType.Wireless80211)
{
MessageBox.Show("No Connection to SQL Server");
}
else
{
GetPING(); //PING SERVER FUNCTION IF TRUE
MessageBox.Show("Connected to SQL, Run App Now.");
}
}
}

最佳答案

您可以通过访问 NetworkInterface.GetIPProperties().UnicastAddresses 属性获取在网络接口(interface)上设置的所有 IP 地址。之后,您需要做什么将取决于您是如何实现 PING 功能的。

  1. 如果您只是执行 PING.exe,则可以使用 -S 选项指定要用于 ping 的源地址。
  2. 如果您使用Socket 发送icmp 回显消息,您需要调用Socket.Bind 方法来指定本地端点。

关于C#.NET : How to choose which Network adapter to connect my Application at runtime,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46071036/

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