sapreste dirmi come controllare l'esistenza di una connessione ad internet
cioè devo creare un modulo che controlli se il compiuter ha una connessione ad internet oppure no....
potreste sugerirmi come fare....
grazie
sapreste dirmi come controllare l'esistenza di una connessione ad internet
cioè devo creare un modulo che controlli se il compiuter ha una connessione ad internet oppure no....
potreste sugerirmi come fare....
grazie
Provi a scaricare il codice HTML di una pagina. Purtroppo altri metodi, come quello di controllare tutte le interfacce di rete, non danno garanzie sulla connessione a internet.
<´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
"The answer to your question is: welcome to tomorrow"
si scusa ma mi suggerisci come scariccare una pagina html?
come dovrei fare il modulo?
come impostarlo intendo....
nn hai qualche esempio che posso vedere?
servono i package java.net e java.io
E una cosa del genere
Tutta sta roba va dentro un blocco try/catch. Se non sei connesso a internet avrai problemi fin dalla creazione di uc.codice:URL url = new URL("http://www.google.com"); URLConnection uc = url.openConnection(); BufferedReader br = new BufferedReader(new InputStreamReader(uc.getInputStream())); String line; while ((line = br.readLine()) != null) { System.out.println(line); }
<´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
"The answer to your question is: welcome to tomorrow"
grazie
ora però noto che se nn c'è connessione nn da nessun problema...
in pratica nn stampa nulla...
io ho cercato di fare un if (line==null)
e stampo la risposta "connessione assente" ma nn funziona
ecco il codice:
cn connessione attiva mi stampa il codice html di google, cn connessione disabilitata nn stampa nulla... su cosa faccio il controllo pre vedere se c'è o meno connessione?codice:public static void connessione() { try { URL url = new URL("http://www.google.com"); URLConnection uc = url.openConnection(); BufferedReader br = new BufferedReader(new InputStreamReader(uc.getInputStream())); String line; while ((line = br.readLine()) != null) { System.out.println(line); } if (line==null) System.out.println("nn c'è connessione"); }catch(Exception e){} }
prova a disconnetterti e fare
e.printStackTrace(); nel catch... altrimenti anche se venisse sollevata un'eccezione non te ne accorgeresti perché non viene gestita. In particolare, devi vedere quali sono le possibili eccezioni sollevate ta URLConnection e gestire quelle.
<´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
"The answer to your question is: welcome to tomorrow"
Ciao a tutti
sto usando il metodo sopra descritto per monitorare l'esistenza di una connessione internet.
Effettuo qs controllo attraverso un thread separato che esegue il codice di cui sotto:
Il problema è che lo scaricare continuamente dati da un sito, per ex: da google comporta che google in questo caso ha interpretato le mie interrogazioni come query automatiche e quindi mi aveva disabilitato l'accesso al sito.codice:InputStreamReader is = new InputStreamReader(c.getInputStream()); BufferedReader r = new BufferedReader(is); String line = r.readLine(); //while (line != null) { // Connected=true; // System.out.println(line); // line = r.readLine(); //} if (line != null) { Connected=true; System.out.println(line); }else { Connected=false; }
Come è possibile allora monitorare una connessione ad internet evitando quanto mi è accaduto??
Grazie mille
Non è buona norma risollevare thread vecchi di anni... comunque, perché scaricare continuamente? Ogni quanto devi fare il controllo se la connessione c'è o meno?
Ovviamente il codice che avevo postato allora è risicatissimo, per non dire ridotto all'osso. Ci sono modi per mandare headers fittizzi e far credere che che l'interrogazione avvenga effettivamente da un browser internet piuttosto che da un applicativo xyz... certo però che se mandi 1000 interrogazioni al secondo il risultato (ovvero l'essere momentaneamente bandito dal sito) non cambierà.
<´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
"The answer to your question is: welcome to tomorrow"
ciao Andrea
grazie per la risposta.
Mi posteresti cortesemente qualche esempio di codice da usare per mandare headers fittizzi?
PS: Perchè trovi non adatto usare dei thread?
Grazie Ancora
Vbnet
Ci si riferisce al fatto che non si sollevano discussioni ferme da anni.Originariamente inviato da Vbnet
PS: Perchè trovi non adatto usare dei thread?
Inoltre, hai aperto un'altra discussione per il problema, quindi continua quella.
MARCO BREVEGLIERI
Software and Web Developer, Teacher and Consultant
Home | Blog | Delphi Podcast | Twitch | Altro...