Come recuperare le informazioni sull'uso della connessione (HTML)

[ Questo articolo è rivolto agli sviluppatori per Windows 8.x e Windows Phone 8.x che realizzano app di Windows Runtime. Gli sviluppatori che usano Windows 10 possono vedere Documentazione aggiornata ]

In questo argomento viene illustrato come accedere a informazioni sull'uso della larghezza di banda in una connessione di rete per un periodo di tempo specifico mediante le classi dello spazio dei nomi Windows.Networking.Connectivity.

Per istruzioni generiche su come recuperare profili di connessione e accedere a informazioni mediante questi oggetti, vedi Come recuperare le informazioni sulla connessione di rete.

Cosa sapere

Tecnologie

Prerequisiti

Gli esempi seguenti usano JavaScript e sono basati sull'esempio di informazioni di rete. Per informazioni generali sulla creazione di un'app di Windows Runtime in JavaScript, vedi Creare la prima app di Windows Runtime in JavaScript.

Recuperare i dati relativi al costo della connessione Internet per l'ora precedente

La funzione dell'esempio seguente recupera innanzitutto l'oggetto ConnectionProfile per la connessione Internet. Per recuperare i dati di cui abbiamo bisogno, vengono passati il valore DateTime di sistema (currTime) e un valore startTime al metodo getNetworkUsageAsync. Viene restituito un oggetto NetworkUsage che contiene i valori inviati e ricevuti, in byte, per il periodo di tempo richiesto.

Per scenari con app mobili, puoi aggiungere un valore RoamingStates alla chiamata di getNetworkUsageAsync per impostare come ambito dei dati relativi al traffico richiesti i periodi di tempo in cui il dispositivo viene usato in 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";
    }

Nota  Per recuperare informazioni relative al costo di un periodo di tempo specifico per connessioni senza connettività Internet, devi usare una procedura simile. La differenza riguarda l'enumerazione iniziale dei profili di connessione disponibili mediante NetworkInformation.getConnectionProfiles.

 

Differenza di comportamento tra app di Windows Store e app per Windows Phone

Il metodo GetNetworkUsageAsync ha un comportamento diverso su Windows 8.1 e Windows Phone 8.1. Quando il metodo GetNetworkUsageAsync viene chiamato in Windows Phone, la matrice di oggetti NetworkUsage restituita avrà sempre la proprietà ConnectionDuration impostata su 0, poiché tale proprietà non è impostata in Windows Phone.

Argomenti correlati

Altro

Creazione della prima app di Windows Runtime in JavaScript

Come gestire le eccezioni nelle app di rete

Come gestire i vincoli di costo per le reti a consumo

Come gestire gli eventi di connessione e di modifica della disponibilità

Come recuperare le informazioni su scheda di rete e località

Come recuperare le informazioni sulla connessione di rete

Riferimento

ConnectionProfile.getNetworkUsageAsync

NetworkInformation

NetworkInformation.getConnectionProfiles

Windows.Networking.Connectivity

Esempi

Esempio di informazioni di rete

Esempio di background di stato di rete