Как получить данные об использовании сетевого подключения (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.getConnectionProfiles
Windows.Networking.Connectivity
Примеры