Verifico rete?

mercoledì 21 gennaio 2009 - 13.28

er tikre Profilo | Newbie

Ragazzi volevo porvi il seguente problema...come posso fare in un applicazione windows form per verificare se c'è rete oppure no? forse bisogna utilizzare il socket?? mi potete illuminate magari anche con un esempio??

grazie....
www.expoline.it Cosa volete? qui lo troverete! il portale Anormale!!

Anonimo Profilo | Senior Member

Per vedere se il pc è connesso a una rete qualsiasi (percui non necessariamente a internet) puoi dare un occhio a questo metodo:

System.Net.NetworkInformation.NetworkInterface.GetIsNetworkAvailable()

Trovi la pagina del manuale qui: http://msdn.microsoft.com/it-it/library/system.net.networkinformation.networkinterface.getisnetworkavailable.aspx

Io sinceramente per verificare se il pc è connesso a internet ho preferito optare per una funzione che mi facesse un ping a un host qualsiasi (tipo google, che se sicuro che è sempre up)
Riccardo

er tikre Profilo | Newbie

Grazie riccardo per caso mi puoi scrivere due righe di codice per fare il ping....sai sono poco esperto!!
grazie in anticipo.
www.expoline.it Cosa volete? qui lo troverete! il portale Anormale!!

Anonimo Profilo | Senior Member

Ecco a te
using using System.Net.NetworkInformation; public static bool CheckHostReachable(string host) { try { Ping p = new Ping(); PingReply pingReply = p.Send(host, 5000); return (pingReply.Status == IPStatus.Success); } catch { return false; } }
Riccardo

er tikre Profilo | Newbie

Leggendo in giro ho letto questo che non è consigliabile fare il ping perche la risposta "Richiesta scaduta" viene restituita quando l'host di destinazione è spento oppure quando è protetto da firewall, infatti, se un sistema è protetto da firewall, non risponderà alle richieste provenienti dal comando ping. In questo caso bisogna fare attenzione, perchè il fatto che il sistema "destinatario" non risponda non significa che l'host sia spento, anzi, funziona perfettamente.

quindi io consiglierei di utilizzare la funzione GetIsNetworkAvailable ()

Ciao e grazie !
www.expoline.it Cosa volete? qui lo troverete! il portale Anormale!!

Anonimo Profilo | Senior Member

SI è vero, difatti l'hiost utilizzato per il comando ping deve essere uno di cui si è sicuri di avere una risposta.
Il comando che ti ho suggerito prima, come ti ho già detto, non ti assicura che il pc sia connesso a internet, ti dice solament se almeno una delle interfaccie di rete è nello stato up, percui il pc potrebbe anche esser soltanto connesso alla rete locale.

Ciao
Riccardo
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5