Siguiendo con esta serie vamos a ver el tercer m├ętodo para conseguir detectar conectividad. Este es un poco rebuscado, y para ser franco no se me ocurri├│ a mi ni tampoco recuerdo ahora mismo en d├│nde lo aprend├ş o qui├ęn me lo cont├│ :-( Pero bueno, ah├ş va...

Este pasa por comprobar si hay resoluci├│n DNS, y parte de la base (deduzco) de que el equipo local no es un servidor DNS, claro. Entonces lo que se hace es comprobar si se puede hacer la resoluci├│n de la IP del equipo actual, ya que si hay conectividad se puede consultar el servidor DNS. El c├│digo ser├şa el siguiente:

    public static bool IsConnected3
    { 
        get
        { 
            try
            {  
                string hostName = Dns.GetHostName(); 
                IPHostEntry curHost = Dns.GetHostByName(hostName); 
                return curHost.AddressList[0].ToString() != IPAddress.Loopback.ToString(); 
            } 
            catch
            { 
                return false; 
            }
        }
    } 

Es decir, se obtiene el nombre del equipo actual y luego se averigua mediante una consulta DNS cuál es la IP que le corresponde. Si esa IP no es la del bucle local (127.0.0.1) entonces es que se ha resuelto bien y por lo tanto hay conectividad (contra el servidor DNS al menos).

Para mi es tal vez la m├ís "por los pelos" de todas... ┬┐Qu├ę opinas t├║?

💪🏻 ┬┐Este post te ha ayudado?, ┬┐has aprendido algo nuevo?
Pues NO te pido que me invites a un caf├ę... Te pido algo m├ís f├ícil y mucho mejor