如何在不使用C#中的平方法和IP地址的情况下,检查PC是否与Intranet或Internet连接?
发布于 2022-09-20 08:01:53
对于我的用例,我需要在LAN网络中有一个服务,并不时地检查网络状态。我最终使用了这个:
static readonly INetworkListManager NetworkListManager = new NetworkListManager();
// ...
while (NetworkListManager.IsConnected) {
// do something...
}
// loop is over. no internet!
while (!NetworkListManager.IsConnected) {
// wait for reconnection...
}在我的例子中,它实现了我所需要的,并且通过一些测试,它也在我的广域网环境中工作。但像往常一样,在与其他硬件交互时,没有100%正确的假设。不正确的结果可能发生,所以尽可能多地投入测试。
发布于 2022-09-20 10:30:18
下面是我在游戏中使用的一些东西,用来检测是否存在网络连接,甚至没有触及或交谈路由器或其他设备:
// Recommended for clean code
public static bool InternetConnection() => System.Net.NetworkInformation.NetworkInterface.GetIsNetworkAvailable();上面的代码与以下代码完全相同:
public static bool InternetConnection() {
return System.Net.NetworkInformation.NetworkInterface.GetIsNetworkAvailable();
}https://stackoverflow.com/questions/73783058
复制相似问题