CheckingOnlineStatus

Crowd-sourced documentation and tutorials by the Cocoa developer community
Jump to: navigation, search


How does one check if the user of an application is currently on the internet?


This is what I found from the cocoa-dev mailing list:

I have SystemConfiguration.framework added to my project, and I use this function:

BOOL networkReachableWithoutAnythingSpecialHappening(void) { BOOL success; SCNetworkConnectionFlags reachabilityStatus; success = SCNetworkCheckReachabilityByName("www.apple.com",

                                              &reachabilityStatus);

return (success && (reachabilityStatus & kSCNetworkFlagsReachable) && !(reachabilityStatus & kSCNetworkFlagsConnectionRequired)); }

Hope that's useful.


Thanks that function works great. --DavidKopec

I changed the number 3 to 'kSCNetworkFlagsReachable' as this is the correct flag to check for. success is a bit misleading, it simply returns false (or NO) if it cannot determine reachability. -- MattJarjoura


"success = false" is pretty leading to me ;P --MarkStultz


The above code doesn't work in many cases (Airport accessible, but offline, and others). There is a much better method outlined here: http://www.cocoabuilder.com/archive/message/cocoa/2003/3/15/79076 - MichaelBianco


Modified the above code to incorporate wisdom from MichaelBianco's link (added kSCNetworkFlagsConnectionRequired to the final test). --SidneySM

P.S. My first edit!

Personal tools
Namespaces

Variants
Actions
Navigation
Toolbox