Compartir a través de


Cómo recuperar datos de uso de conexión de red (HTML)

[ Este artículo está destinado a desarrolladores de Windows 8.x y Windows Phone 8.x que escriben aplicaciones de Windows en tiempo de ejecución. Si estás desarrollando para Windows 10, consulta la documentación más reciente

En este tema se explica cómo usar las clases del espacio de nombres Windows.Networking.Connectivity para acceder a la información de uso de ancho de banda de una conexión de red durante un periodo de tiempo concreto.

Para obtener instrucciones generales sobre cómo recuperar perfiles de conexión y acceder a la información usando estos objetos, consulta Cómo recuperar información de conexión de red.

Lo que debes saber

Tecnologías

Requisitos previos

El siguiente ejemplo usa JavaScript y se basa en la muestra de información de red. Para obtener ayuda sobre cómo crear una aplicación de Windows en tiempo de ejecución con JavaScript, consulta Crear la primera aplicación de Windows en tiempo de ejecución con JavaScript.

Recuperar los datos de costo de la conexión a Internet de la última hora

La siguiente función de ejemplo recupera el ConnectionProfile de la conexión a Internet. Para recuperar los datos que necesitamos, se pasa el sistema DateTime (currTime) y un valor de startTime al método getNetworkUsageAsync. Se devuelve un objeto NetworkUsage que contiene los valores enviados y recibidos, en bytes, para el período de tiempo solicitado.

En el caso de las aplicaciones móviles, puedes agregar un valor RoamingStates a la llamada a getNetworkUsageAsync para acotar los datos de tráfico solicitados a períodos de tiempo en que un dispositivo estaba en movilidad.

    var networkInfo = Windows.Networking.Connectivity.NetworkInformation;

    function DisplayLocalDataUsage() {
        var currTime = new Date();

        //Set start Time to 1 hour (3600000ms) before current time
        var startTime = new Date(currTime - 3600000);

        //Get the ConnectionProfile that is currently used to connect to the Internet
        var connectionProfile = networkInfo.getInternetConnectionProfile();
        var LocalUsage = connectionProfile.getNetworkUsageAsync(startTime, currTime);
        var lclString = "Local Data Usage: \n\r";
        lclString += "Bytes Sent: " + LocalUsage.bytesSent + "\n\r";
        lclString += "Bytes Received: " + LocalUsage.bytesReceived + "\n\r";
    }

Nota  Sigue un proceso similar para recuperar información de costo específica del tiempo para las conexiones que no ofrecen conectividad a Internet. La diferencia es la enumeración inicial de perfiles de conexión disponibles con NetworkInformation.getConnectionProfiles.

 

Diferencias de comportamiento entre aplicaciones de la Tienda Windows y aplicaciones de Windows Phone

El método GetNetworkUsageAsync tiene un comportamiento distinto en Windows 8.1 y Windows Phone 8.1. Cuando se llama al método GetNetworkUsageAsync en Windows Phone, la matriz de objetos NetworkUsage devuelta siempre tendrá la propiedad ConnectionDuration establecida en 0 puesto que esta propiedad no es compatible con Windows Phone.

Temas relacionados

Otros

Crear la primera aplicación de Windows en tiempo de ejecución con JavaScript

Cómo controlar excepciones en aplicaciones de red

Cómo administrar límites de costos de red de uso medido

Cómo administrar eventos de conexión y cambios de disponibilidad

Cómo recuperar información de localidad y adaptador de red

Cómo recuperar información de conexión de red

Referencia

ConnectionProfile.getNetworkUsageAsync

NetworkInformation

NetworkInformation.getConnectionProfiles

Windows.Networking.Connectivity

Muestras

Muestra de información de red

Muestra del estado de red en segundo plano