`

实时判断网络连接状态

 
阅读更多

+ (BOOL) connectedToNetwork{

//创建零地址,0.0.0.0的地址表示查询本机的网络连接状态


struct sockaddr_in zeroAddress;

bzero(&zeroAddress, sizeof(zeroAddress));

zeroAddress.sin_len = sizeof(zeroAddress);


zeroAddress.sin_family = AF_INET;

// Recover reachability flags


SCNetworkReachabilityRef defaultRouteReachability = SCNetworkReachabilityCreateWithAddress(NULL, (struct sockaddr *)&zeroAddress);

SCNetworkReachabilityFlags flags;


//获得连接的标志

BOOL didRetrieveFlags = SCNetworkReachabilityGetFlags(defaultRouteReachability, &flags);


CFRelease(defaultRouteReachability);



//如果不能获取连接标志,则不能连接网络,直接返回

if (!didRetrieveFlags){

return NO;

}



//根据获得的连接标志进行判断

BOOL isReachable = flags & kSCNetworkFlagsReachable;

BOOL needsConnection = flags & kSCNetworkFlagsConnectionRequired;


return (isReachable && !needsConnection) ? YES : NO;


}

分享到:
评论

相关推荐

    实时判断网络连接的Demo

    程序运行后,能够实时监控网络是否连接。 当运行过程中,网络发生断网,点击判断的时候,也能够返回出当前网络的状态。这种办法比通过InternetGetConnectedState 判断,具有实时性。因为InternetGetConnectedState...

    C#判断网络连接状态例子(winform)

    在.NET框架中,尤其是C#编程环境下,开发者经常需要处理与网络相关的任务,其中之一就是判断用户的网络连接状态。本文将详细讲解如何在Windows Forms(Winform)应用中实现这一功能,以便于创建更加智能和用户友好的...

    使用JS在浏览器中判断当前网络连接状态的几种方法

    使用JS在浏览器中判断当前网络状态的几种方法如下: 1. navigator.onLine 2. ajax请求 3. 获取网络资源 4. bind() 1. navigator.onLine 通过navigator.onLine判断当前网络状态: if(navigator.onLine){ ... }...

    VB.NET判断网络连接状态--.txt

    VB.NET判断网络连接状态

    时时监听网络状态/判断网络连接情况

    2、判断网络连接状态的方法(如mobile网络和wifi网络) 3、用广播WifiManager.NETWORK_STATE_CHANGED_ACTION和ConnectivityManager.CONNECTIVITY_ACTION都行,但判断连接是否成功时,用NetworkInfo的getState()方法...

    Delphi定时检测判断网络数据库连接状态.rar

    Delphi定时检测判断网络数据库连接状态,用来判断局域网数据库的网络状态,定时检查局域网ODBC, ADO数据库是否连接正常。获得开始->程序->的启动组 的路径,别的特殊路径也可以用CSIDL_COMMON或的,在delphi中查一下...

    判断网络连接状态工具类

    "判断网络连接状态工具类"是一个专门为Android开发者设计的实用工具,它可以帮助开发者轻松地检查设备当前的网络连接状况,确保应用在合适的时候执行网络操作。 该工具类通常会包含以下功能: 1. **检查网络是否...

    Android 实时监测网络连接状态变化

    在Android开发中,实时监测网络连接状态变化是一项重要的任务,这涉及到用户应用的网络依赖性和用户体验。本篇文章将深入探讨如何实现这一功能,包括监听网络连接的状态,判断当前的网络类型,以及处理网络状态变化...

    安卓开发-判断网络连接状态

    接下来,我们需要编写一个方法来判断设备的网络连接状态。以下是一个简单的示例: ```java public boolean isNetworkAvailable(Activity activity) { Context context = activity.getApplicationContext(); // ...

    iOS网络连接状态判断 JPNetwork

    JPNetwork库提供了网络连接状态的实时检测。在iOS中,可以通过系统提供的Reachability框架来获取网络连通性信息。这个库可能就是基于此框架进行了封装,简化了使用过程。通常,网络状态分为以下几种: - Not ...

    仿QQ微信,Android开发中网络连接状态的判断(判断android设备是否有网络)

    仿QQ微信,Android开发中网络连接状态的判断(判断android设备是否有网络),详细了解请移步http://blog.csdn.net/zxc514257857/article/details/69219113

    Android开发中网络连接状态的判断(判断android设备是否有网络)

    Android开发中网络连接状态的判断(判断android设备是否有网络),详细了解请移步http://blog.csdn.net/zxc514257857/article/details/68066192

    Linux或Windows下判断socket连接状态

    总之,判断Linux或Windows下的Socket连接状态是一项关键的网络编程技能。通过使用系统提供的API,结合适当的策略和机制,我们可以有效地检测和处理Socket连接的各种状态,从而提升软件的稳定性和用户体验。

    快速准确判断网络连接状态

    本文将深入探讨如何使用C#语言编写代码来快速准确地判断网络连接状态。C#提供了丰富的类库和方法,使得我们可以方便地实现这一功能。 首先,我们关注的是`System.Net.NetworkInformation`命名空间,它包含了处理...

    易语言判断网络是否连接

    要判断网络连接,我们可能需要创建一个TCP连接,尝试与远程服务器建立通信。以下是一个简单的示例代码: ```易语言 .网络状态 = .假 .错误信息 = "" .服务器地址 = "8.8.8.8" .服务器端口 = 53 .连接句柄 = .零 ....

    自己写的判断网络连接状态的小程序C#版本

    标题中的“自己写的判断网络连接状态的小程序C#版本”指的是使用C#编程语言编写的一个小型应用程序,该程序通过调用Win32 API函数和.NET Framework自带的Ping类来确定网络是否可达。 描述中的“使用win32 API函数...

    获取网络连接状态实例demo

    在Android开发中,获取设备的网络连接状态是常见的需求,比如检查用户是否已经连接到互联网,以便决定是否加载网络数据或者执行网络相关的操作。本文将详细介绍如何在Android中实现一个获取网络连接状态的实例。 ...

    易语言判断网络是否连接.rar

    判断网络连接状态时,我们可以通过尝试建立一个网络连接(例如,向知名的HTTP服务器发送一个简单的HTTP请求)来实现。如果连接成功,那么网络是在线的;如果连接失败或超时,可能表明网络有问题。 2. 使用Windows ...

    android判断网络连接

    在Android应用开发中,了解如何判断网络连接状态和网络连接类型是至关重要的。这不仅可以确保应用在有网络的情况下正常运行,还可以根据不同的网络环境提供不同的服务。以下是一些关于Android中判断网络连接的知识点...

    判断Android客户端网络连接状态

    判断Android客户端网络连接状态ConnectivityManager cm = (ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo activeNetwork = cm.getActiveNetworkInfo(); boolean ...

Global site tag (gtag.js) - Google Analytics