Java Vérifiez rapidement la connexion réseau

Ma question est assez simple. Mon programme prévoit la notification immédiate si une connexion réseau est perdue. Je suis à l'aide de Java 5, donc je ne suis pas en mesure d'utiliser les très pratique dispose de NetworkInterface.

Actuellement, j'ai deux différentes méthodes de vérification pour une connexion réseau:
(essayez..captures supprimé)

Méthode:

URL url = new URL("http://www.google.com");
HttpURLConnection urlConnect = (HttpURLConnection) url.openConnection();
//trying to retrieve data from the source. If offline, this line will fail:
Object objData = urlConnect.getContent();
return true;

Méthode 2:

Socket socket = new Socket("www.google.com", 80);
netAccess = socket.isConnected();
socket.close();
return netAccess;

Cependant, ces deux méthodes permettent de bloquer jusqu'à ce qu'un Délai est atteint, avant de retourner false. J'ai besoin d'une méthode qui retourne immédiatement, mais est compatible avec Java 5.

Merci!

EDIT:
J'ai oublié de mentionner que mon programme dépend des adresses IP, pas de noms DNS. Afin de vérifier qu'une erreur lors de la résolution d'un hôte...

2ème EDIT:

Trouvé une solution définitive à l'aide de NetworkInterface:

Enumeration<NetworkInterface> eni = NetworkInterface.getNetworkInterfaces();
        while(eni.hasMoreElements()) {
            Enumeration<InetAddress> eia = eni.nextElement().getInetAddresses();
            while(eia.hasMoreElements()) {
                InetAddress ia = eia.nextElement();
                if (!ia.isAnyLocalAddress() && !ia.isLoopbackAddress() && !ia.isSiteLocalAddress()) {
                    if (!ia.getHostName().equals(ia.getHostAddress()))
                        return true;
                }
            }
        }

source d'informationauteur BenCole