Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Обзор сетевых технологий, доступных для разработчика Windows, с предложениями по выбору технологий, подходящих для вашего приложения.
Розетки
Используйте Сокеты при взаимодействии с другим устройством, если вы хотите применить собственный протокол.
Две реализации сокетов доступны для разработчиков Windows: Windows. Networking.Sockets и Winsock. Если вы пишете новый код, Windows. Networking.Sockets имеет преимущество быть современным API, предназначенным для использования разработчиками Windows. Если вы используете кроссплатформенные сетевые библиотеки или другой существующий код Winsock или предпочитаете API Winsock, используйте это.
Когда следует использовать сокеты
Обе реализации сокетов позволяют взаимодействовать с другими устройствами с помощью протоколов собственного выбора с помощью TCP или UDP.
Выберите API сокетов, который лучше всего соответствует вашим потребностям на основе опыта и любого существующего кода, который вы можете использовать.
Когда не использовать сокеты
- Не реализуйте собственный стек HTTP(S) с помощью сокетов. Вместо этого используйте HttpClient.
- Если WebSockets (StreamWebSocket и MessageWebSocket) соответствуют вашим потребностям связи (TCP до веб-сервера или от веб-сервера), стоит использовать их, а не тратить свое время и ресурсы разработки на создание аналогичной функциональности с использованием сокетов.
WebSockets
Протокол WebSockets определяет механизм быстрого, безопасного двустороннего взаимодействия между клиентом и сервером через Интернет. Данные передаются немедленно через полнодуплексное соединение с использованием одного сокета, что позволяет отправлять и получать сообщения в реальном времени между обеими конечными точками. WebSockets идеально подходят для использования в играх в реальном времени, где мгновенные уведомления из социальных сетей и актуальное отображение информации (например, игровой статистики) должны быть защищёнными и обеспечивать быструю передачу данных. Windows разработчики могут использовать классы StreamWebSocket и MessageWebSocket для подключения к серверам, поддерживающим протокол WebSocket.
Когда следует использовать WebSockets
- Если вы хотите отправлять и получать данные на постоянной основе между устройством и сервером.
Если не использовать WebSockets
- Если вы отправляете или получаете данные редко, вы можете сделать отдельные HTTP-запросы с устройства на сервер, а не устанавливать и поддерживать подключение WebSocket.
- WebSockets может не подходить для очень больших ситуаций. Рассмотрите возможность создавать модели потоков данных и имитировать трафик через WebSockets перед использованием их в вашей разработке.
HttpClient
Используйте HttpClient (и остальную часть Windows. Web.Http API пространства имен) при использовании HTTP(S) для взаимодействия с веб-службой или веб-сервером.
Когда следует использовать HttpClient
- При использовании HTTP(S) для взаимодействия с веб-службами.
- При отправке или скачивании небольшого количества небольших файлов.
- Если WebSockets (StreamWebSocket и MessageWebSocket классы) соответствуют вашим потребностям связи (TCP на веб-сервер или с веб-сервера), а веб-сервер, на который имеется вопрос, поддерживает WebSockets, рекомендуется использовать их, а не тратить свое время и ресурсы разработки, реализующие аналогичные функции с HttpClient.
- При потоковой передаче содержимого по сети.
Если не использовать HttpClient
- Если вы передаете большие файлы или большое количество файлов, рассмотрите возможность использования фоновой передачи.
- Если вы хотите ограничить ограничения на отправку и скачивание на основе типа подключения или сохранить ход выполнения и возобновить загрузку после прерывания, необходимо использовать фоновые передачи.
- Если вы взаимодействуете между двумя устройствами и ни один из них не предназначен для работы в качестве сервера HTTP(S), следует использовать сокеты. Не пытайтесь реализовать собственный HTTP-сервер и использовать HttpClient для взаимодействия с ним.
Фоновые передачи
Используйте API фоновой передачи , если требуется надежно передать файлы по сети. API фоновой передачи предоставляет расширенные функции отправки и скачивания, которые выполняются в фоновом режиме во время приостановки приложения и сохраняются после завершения работы приложения. API отслеживает состояние сети и автоматически приостанавливает и возобновляет передачу данных при потере подключения. Передачи данных учитывают функции Data Sense и Battery Sense, что означает, что загрузочная активность корректируется на основе текущего состояния подключения и уровня заряда батареи устройства. Эти возможности важны, когда ваше приложение работает на мобильных или зарядных устройствах. API идеально подходит для отправки и скачивания больших файлов с помощью HTTP(S). FTP также поддерживается, но только для скачивания.
Фоновая передача поддерживает запуск постобработки после завершения передачи файла, что позволяет обновить локальные каталоги, активировать другие приложения или уведомить пользователя по завершении загрузки.
Когда следует использовать фоновую передачу данных
- Используйте фоновые передачи для надежной передачи больших файлов или большого количества файлов.
- Используйте фоновые передачи с группами завершения фоновых передач, если необходимо выполнить постобработку передачи файлов с помощью фоновой задачи.
- Используйте фоновые передачи, если вы хотите возобновить передачу после прерывания сети.
- Используйте фоновые передачи, если вы хотите изменить поведение передачи в зависимости от условий сети, таких как подключение к плану передачи данных с помегабайтной оплатой.
Когда не следует использовать фоновые передачи
- Если вы передаете небольшое количество небольших файлов, и вам не нужно делать никаких операций после завершения передачи, попробуйте использовать методы PUT или POST HttpClient PUT или POST.
- Если вы хотите передавать данные и использовать их локально при поступлении, используйте HttpClient.
Дополнительные технологии, связанные с сетью
Качество подключения
API из пространства имен Windows.Networking.Connectivity позволяют получить доступ к сетевой подключаемости, стоимости и сведениям об использовании. Используйте класс ConnectionProfile для определения текущего состояния сети и стоимости.
Обнаружение служб DNS
Windows.Networking.ServiceDiscovery.Dnssd API позволяет рекламировать сетевой сервис другим устройствам в сети с помощью протокола DNS-SD, описанного в IETF RFC 2782.
Обмен данными по Bluetooth
Помимо прочего, Windows. Device.Bluetooth API позволяет использовать Bluetooth для подключения к другим устройствам и передачи данных. Дополнительные сведения см. в статье "Отправка или получение файлов с помощью RFCOMM".
Push-уведомления (WNS)
Windows.Networking.PushNotifications API позволяет использовать службу уведомлений Windows (WNS) для получения push-уведомлений по сети. Дополнительные сведения об использовании этого API см. раздел Обзор службы push-уведомлений Windows (WNS)
Связь рядом с полем
Windows.Networking.Proximity API позволяет использовать технологию ближнего поля для приложений, использующих технологию ближней связи или технологией касания, для упрощения передачи данных. Дополнительные сведения об использовании этого API см. в разделе Близкое взаимодействие и касание.
Веб-каналы RSS и Atom
Windows.Web.Syndication API позволяет управлять лентами синдикации с помощью форматов RSS и Atom. Дополнительные сведения об использовании этого API см. в каналах RSS/Atom.
Wi-Fi сканирование и управление подключением
Windows. Api Devices.WiFi позволяет перечислять адаптеры Wi-Fi, проверять наличие доступных сетей Wi-Fi и подключать адаптер к сети.
Радиоконтроль
Windows. Devices.Radios API позволяет находить и управлять радио на локальном устройстве, включая Wi-Fi и Bluetooth.
Wi-Fi Direct
Windows. API Devices.WiFiDirect позволяет подключаться и взаимодействовать с другими локальными устройствами с помощью Wi-Fi Direct для создания нерегламентированных локальных беспроводных сетей.
Wi-Fi Direct сервисы
Windows.Devices.WiFiDirect.Services позволяет предоставлять службы Wi-Fi Direct и подключаться к ним. Wi-Fi Direct Services — это способ, которым одно устройство на Wi-Fi прямой сети (рекламодатель услуг) предоставляет возможности другому устройству (просатель услуг) через Wi-Fi прямое подключение.
Мобильные операторы
Windows предоставляет широкой аудитории разработчиков некоторые API, которые ранее были доступны только производителям устройств и мобильным операторам. Обратите внимание, что, хотя эти API уже доступны, их использование ограничивается определенными возможностями приложений, которые должны получить одобрение корпорации Майкрософт, прежде чем приложение может быть опубликовано. Фактическое использование этих API по-прежнему ограничено в первую очередь производителями устройств и мобильными операторами.
Сетевые операции
Windows. Network.NetworkOperator API работает в основном с настройкой и подготовкой телефонов. Таким образом, разрешение на использование возможностей, которые управляют им, ограничены производителями устройств и поставщиками телекоммуникаций.
СМС
Windows. Devices.Sms пространство имен обрабатывает SMS и связанные сообщения как сущности низкого уровня. Он предоставляется для использования мобильными операторами для отправки SMS, предназначенных для приложений, и контролируется функцией, которая не будет утверждена для использования большинством разработчиков приложений. Если вы пишете приложение для работы с сообщениями, следует использовать Windows. Api ApplicationModel.Chat, так как он предназначен для обработки не только SMS-сообщений, но и сообщений из других источников, таких как приложения чата в режиме реального времени, что обеспечивает гораздо более широкий интерфейс чата или обмена сообщениями.
Windows developer