Інформація про мережевому підключенні Windows Runtime

Використовуючи інтерфейс Connectivity API, який є частиною середовища Windows Runtime, наше Metro-додаток може отримувати інформацію про поточний стан мережі і відповідно застосовувати різні сценарії мережевого взаємодії з віддаленим сервером

Для отримання інформації про поточний інтернет-зєднанні необхідно викликати методGetInternetConnectionProfile  класуWindowsNetworking Connectivity  NetworkInformation Обєкт типуConnectionProfile дозволить отримати детальну інформацію про поточний зєднанні Приклад даних, які можна отримати через цей обєкт, показаний на Рис 71

Рис 71

Для отримання цих даних необхідно використовувати наступний код:

Var connectionProfile = WindowsNetworkingConnectivity NetworkInformationGetInternetConnectionProfile() connectionProfileInfo = &quotProfile Name : &quot + connectionProfileProfileName + &quot\n"

switch (connectionProfileGetNetworkConnectivityLevel())

{

case NetworkConnectivityLevelNone:

connectionProfileInfo += &quotConnectivity Level : None\n" break

case NetworkConnectivityLevelLocalAccess: connectionProfileInfo += &quotConnectivity Level :

Local Access\n" break

case NetworkConnectivityLevelConstrainedInternetAccess: connectionProfileInfo += &quotConnectivity Level :

Constrained Internet Access\n" break

case NetworkConnectivityLevelInternetAccess: connectionProfileInfo += &quotConnectivity Level :

Internet Access\n"

break

}

switch (connectionCostNetworkCostType)

{

case NetworkCostTypeUnrestricted: connectionProfileInfo += &quotCost: Unrestricted" break

case NetworkCostTypeFixed: connectionProfileInfo += &quotCost: Fixed" break

case NetworkCostTypeVariable: connectionProfileInfo += &quotCost: Variable" break

case NetworkCostTypeUnknown: connectionProfileInfo += &quotCost: Unknown" break

default:

connectionProfileInfo += &quotCost: Error" break

}

connectionProfileInfo += &quot\n"

connectionProfileInfo += &quotRoaming: &quot + connectionCostRoaming + &quot\n" connectionProfileInfo += &quotOver Data Limit: &quot + connectionCost OverDataLimit + &quot\n"

connectionProfileInfo += &quotApproaching Data Limit : &quot + connectionCostApproachingDataLimit + &quot\n"

Також, використовуючи обєкт типуConnectionProfile, Можна отримати відомості про кількість байтів, прийнятих і відправлених через це зєднання Для цього необхідно отримати обєкт класуDataUsage, Викликавши метод GetLocalUsage у обєкту ConnectionProfile (Мал 72)

Рис 72

Такий великий набір даних про поточний інтернет-зєднанні дозволяє створювати дуже гнучкі моделі взаємодії клієнтського програми та сервера Так, передати великі набори даних ми можемо тільки коли користувач використовує підключення WiFi, а в інших випадках – тільки мінімум необхідної додатком інформації

Сергій Лутай, Сергій Байдачний, Windows 8 для C # розробників

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*