Como recuperar dados de uso de conexão de rede (HTML)

[ Este artigo destina-se aos desenvolvedores do Windows 8.x e do Windows Phone 8.x que escrevem aplicativos do Windows Runtime. Se você estiver desenvolvendo para o Windows 10, consulte documentação mais recente]

Esse tópico demonstra como acessar informações de utilização de largura de banda em uma conexão por um período de tempo específico utilizando classes no namespace Windows.Networking.Connectivity.

Para obter instruções gerais de recuperação de perfis de conexão e de acesso a informações usando esses objetos, veja Como recuperar informações de conexão de rede.

O que você precisa saber

Tecnologias

Pré-requisitos

O exemplo a seguir usa JavaScript e se baseia na Exemplo de informações de rede. Para obter instruções sobre a criação de um aplicativo do Tempo de Execução do Windows em JavaScript, veja Criar o primeiro aplicativo do Tempo de Execução do Windows em JavaScript.

Recuperar dados de custos de conexões com a Internet referentes à última hora

O exemplo de função a seguir recupera o ConnectionProfile da conexão com a Internet. Para recuperar os dados necessários, o DateTime (currTime) do sistema e um valor startTime é passado para o método getNetworkUsageAsync. Um objeto NetworkUsage é retornado contendo os valores enviados e recebidos, em bytes, para o período solicitado.

No caso de cenários de aplicativos móveis, você pode adicionar um valor RoamingStates à chamada getNetworkUsageAsync para fazer o escopo dos dados de tráfego solicitados para períodos de tempo em que um dispositivo estava em roaming.

    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";
    }

Observação  Siga um processo similar para recuperar informações de custo de um período específico referentes a conexões que não fornecem conectividade com a Internet. A diferença é a enumeração inicial de perfis de conexão disponíveis usando NetworkInformation.getConnectionProfiles.

 

Diferenças de comportamento entre aplicativos da Windows Store e aplicativos da Windows Phone Store

O método GetNetworkUsageAsync apresenta comportamento diferente no Windows 8.1 e no Windows Phone 8.1. Quando o método GetNetworkUsageAsync é chamado no Windows Phone, a matriz retornada de objetos NetworkUsage sempre terá a propriedade ConnectionDuration definida como 0 já que essa propriedade não é permitida no Windows Phone.

Tópicos relacionados

Outro

Crie seu primeiro aplicativo do Tempo de Execução do Windows em JavaScript

Como resolver exceções em aplicativos de rede

Como gerenciar restrições de custo da rede limitada

Como gerenciar eventos de conexão de rede e mudanças na disponibilidade

Como recuperar informações do adaptador de rede e da localidade

Como recuperar informações de conexão de rede

Referência

ConnectionProfile.getNetworkUsageAsync

NetworkInformation

NetworkInformation.getConnectionProfiles

Windows.Networking.Connectivity

Exemplos

Exemplo de informações de rede

Exemplo de tela de fundo de status de rede