Как получить данные об использовании сетевого подключения (HTML)

[ Эта статья адресована разработчикам приложений среды выполнения Windows для Windows 8.x и Windows Phone 8.x. При разработке приложений для Windows 10 см. раздел последняя документация]

В этом разделе показано, как получить доступ к информации об использовании пропускной способности сетевого подключения за определенный период с помощью классов в пространстве имен Windows.Networking.Connectivity.

Общие рекомендации по получению профилей подключения и доступу к информации с помощью этих объектов см. в разделе Как получить данные о сетевом подключении.

Что необходимо знать

Технологии

Необходимые условия

Следующий пример использует JavaScript и основан на примере network information. Общую справку по созданию приложения среды выполнения Windows на JavaScript см. в разделе Создание первого приложения среды выполнения Windows на JavaScript.

Получение данных о стоимости подключения к Интернету за последний час

В приведенном ниже примере функция получает ConnectionProfile для подключения к Интернету. Чтобы получить необходимую информацию, значение системного параметра DateTime (currTime) и значение startTime передаются методу getNetworkUsageAsync. Возвращается объект NetworkUsage, содержащий данные об отправленном и полученном трафике в байтах за запрошенный период.

При создании сценариев мобильных приложений можно добавлять значение RoamingStates к вызову getNetworkUsageAsync для оценки запрошенных сведений о трафике в течение тех периодов, когда устройство находилось в зоне роуминга.

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

Примечание  Подобная процедура подходит и для получения сведений о затратах на подключения за определенное время без учета подключения к Интернету. Ее отличие в том, что требуется начальное перечисление доступных профилей подключения с помощью NetworkInformation.getConnectionProfiles.

 

Различия в поведении между приложениями Магазина Windows и приложениями Магазина Windows Phone

Поведение метода GetNetworkUsageAsync различается в Windows 8.1 и Windows Phone 8.1. При вызове метода GetNetworkUsageAsync в Windows Phone для возвращаемого массива объектов NetworkUsage значение свойства ConnectionDuration всегда будет равно 0, так как это свойство не поддерживается в Windows Phone.

Связанные разделы

Прочие ссылки

Создание первого приложения среды выполнения Windows на JavaScript

Обработка исключений в сетевых приложениях

Как управлять ограничениями в сетях с лимитным тарифным планом

Как управлять событиями и изменениями доступности подключения

Как получить данные о сетевом адаптере и его размещении

Как получить данные о сетевом подключении

Ссылки

ConnectionProfile.getNetworkUsageAsync

NetworkInformation

NetworkInformation.getConnectionProfiles

Windows.Networking.Connectivity

Примеры

Пример Network information

Пример Network status background