【发布时间】:2017-09-06 09:05:29
【问题描述】:
我的笔记本电脑连接到 LAN 和 WIFI 并有单独的网络连接, 我的 SQL 服务器与我的 LAN 在同一个网络中,并且我有一个功能,即在运行查询之前首先 PING 的 SQL 服务器,现在问题是每次我运行我的 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.");
}
}
}
【问题讨论】:
-
我不确定我是否理解这个问题。您通常不必在客户端应用程序中执行任何操作来告诉它使用哪个适配器。 IE。如果服务器名称解析为 LAN 地址,则网络堆栈将使用 LAN 适配器。
-
抱歉混淆忘记添加我的 PINS 服务器功能。编辑了我的问题。
-
路由由IP地址和掩码决定。 Windows 查看所有活动的连接,并采用最受限制的掩码路由。所以在 255.255.0.0 之前需要 255.255.255.0。使用 cmd.exe > IPCONFIG /all 查看适配器和掩码的 IP 地址。
标签: c# .net networking wifi lan