Una semplice funzione per testare la connessione alla rete [C#]
Di Admin (del 12/07/2006 @ 09:32:44, in .NET, linkato 5027 volte)
La soluzione al problema è del tutto analoga alla versione per VB.NET, con le ovvie modifiche per adattare il codice al linguaggio diverso; in realtà ho consultato più di qualche fonte per ispirarmi e costruire qualcosa di funzionante; in definitiva lavoro con C# da poco tempo.... Per stabilire se il pc è collegato ad internet, quindi, è sufficiente istanziare una 'HttpWebRequest' verso un host funzionante (al solito, il consiglio è quello di scegliere un indirizzo fail-proof come google o mamma m$) e verificare che lo 'StatusCode' del 'HttpWebResponse' di ritorno sia 'OK'. Questa funzione mi è di supporto in un programmino che effettua altri controlli e quindi ho deciso che il Main() mi restituisca solo un booleano. public bool ConnectionOn() { // Istanzio i miei oggetti per la verifica HttpWebRequest Richiesta; HttpWebResponse Risposta; try { // Definisco l'indirizzo per la prova Richiesta = (HttpWebRequest)WebRequest.Create("http://www.microsoft.com"); Risposta = (HttpWebResponse)Richiesta.GetResponse();
if (Risposta.StatusCode.ToString().Equals("OK")) { // OK, connessione attiva perchè l'host è raggiungibile return true ; } else { // No, l'host non è raggiungibile. Lo 'StatusCode' chiarisce? return false; } } catch { // Connessione non attiva. return false; } }
|