我有一个C#应用程序,它应该只在网络中断时使用,但担心用户为了使用它而拔掉网线。
有没有办法检测网线是否已拔出?
谢谢
发布于 2009-05-20 13:00:48
您可以使用IsNetworkAlive()。虽然从技术上讲,它不会检查链路状态,但它可能更好,因为它还可以检测无线和拨号连接。下面是一个例子:
using System.Runtime.InteropServices;
class Program
{
[DllImport("sensapi.dll")]
static extern bool IsNetworkAlive(out int flags);
static void Main(string[] args)
{
int flags;
bool connected = IsNetworkAlive(out flags);
}
}标志param返回是连接到internet还是只连接到LAN。我不是百分之百确定它是怎么知道的,但我敢打赌,它只是看看是否有默认网关设置。
发布于 2009-05-20 12:37:06
在我的愚见中,没有确定的方法来区分网络故障和未插入的电缆。即使有办法,也有办法绕过它。
让我们假设你有一个解决方案,让我们看看一些情况:
发布于 2012-09-04 18:39:56
你可以使用这个
System.Net.NetworkInformation.NetworkInterface.GetIsNetworkAvailable()https://stackoverflow.com/questions/886680
复制相似问题