MSDN España

Noticias, avisos, reflexiones... del equipo que hay detrás de MSDN en España... también tendremos alguna que otra firma invitada :)

Windows 8 Tips & Tricks. Detección de red (HTML5/JavaScript)

Windows 8 Tips & Tricks. Detección de red (HTML5/JavaScript)

[Nota: Este artículo pertenece a nuestra serie de Windows 8 Tips & Tricks]

 

Casi todas las aplicaciones usan Internet de un modo u otro y por tanto es necesario controlar la conexión y detectar desconexiones y reconexiones. En este Tips & Tricks te enseñamos a hacerlo de forma sencilla.

El primer paso es crear un método que compruebe el acceso a Internet verificando que getInternetConnectionProfile no sea null y que getNetworkConnectivityLevel sea InternetAccess:

var connectivity = Windows.Networking.Connectivity;

//Esta función nos retornará si la conexión está disponible
function IsInternetAvailable() {
    var internetProfile = connectivity.NetworkInformation.getInternetConnectionProfile();
    return internetProfile != null &&
        internetProfile.getNetworkConnectivityLevel() ==
        connectivity.NetworkConnectivityLevel.internetAccess;
}

Una vez hecho esto, nos subscribimos al evento onnetworkstatuschanged, que se ejecutará cada vez que haya un cambio en el estado de la conexión. De este modo podremos monitorizar la red y detectar conexiones y desconexiones:

//Guardamos el estado de la conexión al abrir la aplicación
var hasInternetAccess = IsInternetAvailable();

//Este evento se lanzará cada vez que cambie el estado de la red
connectivity.NetworkInformation.onnetworkstatuschanged = function (eventArgs) {
    var isNowInternetAvailable = IsInternetAvailable();
    if (hasInternetAccess && !isNowInternetAvailable) {
        hasInternetAccess = false;
        new Windows.UI.Popups.MessageDialog("La conexión a Internet no está disponible.")
            .showAsync();
    } else if (!hasInternetAccess && isNowInternetAvailable) {
        hasInternetAccess = true;
        new Windows.UI.Popups.MessageDialog("¡La conexión a Internet ha vuelto!")
            .showAsync();
    }
};

Si tienes alguna duda, recuerda que tienes a tu disposición el foro de desarrollo de aplicaciones para Windows 8 en castellano, donde podrás compartir tus conocimientos con la comunidad de desarrolladores y encontrar ayuda para resolver tus dudas técnicas, y una Introducción al desarrollo de aplicaciones para Windows 8.

También puedes estar al día de todas las novedades a través de nuestros rincones en las redes sociales:

Un saludo,

      Pablo Carballude