How can I trust Application.internetReachability?

I’ve trying to detect if the LAN/cable is suddently removed or the WiFi is turned on, as our game has some status updates posted to a session constantly.

But somehow this variable doesnt change at all, eventhough I turn off the Wireless network or remove LAN cables.

How can I make this state/status work?

I’ve tested both inside the editor (and no network emulation is running) and outside in a webplayer (using Chrome) same problem with the default HTML template provided by Unity publish function (CTRL+B)

Is this state only valid for other platforms than the webplayer?

Extra bit of info as well. According to the (updated?) reference page found here, Application.internetReachability should only be used if you’d want to test if the device/machine is capable of connecting to a network (ex. the wi-fi component on the device is turned on, or it’s 3G component is turned on, etc).

It shouldn’t be used to test if the device/machine can reach a specific address in the network. Also, non-mobile devices are considered to be always capable of NetworkReachability.ReachableViaLocalAreaNetwork (i.e. Application.internetReachability == NetworkReachability.ReachableViaLocalAreaNetwork would always return true on PC and Mac machines - pls correct me if I’m wrong on this).

To truly know you’re online, you need to implement “captive portal detection”, to know if you’re e.g. hitting a public WiFi login page. So just checking Application.internetReachability or doing a Ping to some address doesn’t guarantee you can successfully make connections or make WWW requests.

I have made an easy asset called Internet Reachability Verifier. It keeps you up-to-date whether you have verified internet access (WWW requests can be done).
More info here: http://j.mp/IRVUN