Подключение через сокеты (HTML)
[ Эта статья адресована разработчикам приложений среды выполнения Windows для Windows 8.x и Windows Phone 8.x. При разработке приложений для Windows 10 см. раздел последняя документация]
Отправка и получение данных с использованием TCP или UDP-сокетов в вашем приложении Магазина Windows с помощью компонентов в пространстве имен Windows.Networking.Sockets.
Сокеты предоставляют низкоуровневый интерфейс для отправки и получения сетевых данных. К основным классам, которые можно использовать с сокетами, относятся следующие:
- DatagramSocket — Используется для поддержки сетевой передачи данных с помощью UDP-сокета датаграмм.
- StreamSocket — Используется для поддержки сетевой передачи данных с помощью TCP-сокета потока.
- StreamSocketListener — Используется для поддержки ожидания входящего сетевого подключения с помощью TCP-сокета потока.
Основные классы, перечисленные выше, также имеют ряд связанных классов поддержки в пространстве имен Windows.Networking.Sockets, используемом этими классами.
Разработчики
Предназначено для разработчиков на Javascript, C#, VB.NET, C++, заинтересованных в возможности использования сокетов для сетевой передачи данных в своих приложениях среды выполнения Windows. Эта возможность включает в себя сокеты TCP и UDP, в том числе многоадресную рассылку по протоколу UDP, чтобы позволить разработчикам реализовывать другие протоколы верхнего уровня. Приложение может использовать сокеты TCP и UDP, чтобы устанавливать клиентские подключения, ожидать запросы на подключение и функционировать в качестве сервера или выполнять операции клиента и сервера.
Рассмотрите возможность использования следующих протоколов, исходя из требований приложений.
Если ваше приложение | Используйте |
---|---|
Подключается к сетевой службе, использующей существующий протокол (например, SMTP, POP, IMAP или MAPI для почты), который не поддерживается напрямую другими сетевыми возможностями |
Сокеты TCP или UDP |
Подключается к другому компьютеру в той же локальной сети |
Сокеты TCP или UDP |
Требует простого протокола типа "запрос-ответ", который может передавать данные через прокси-серверы HTTP. |
API REST, доступные с помощью C#, VB.NET и C++. |
Требует семантики сокета (асинхронная, двунаправленная передача данных) для передачи данных через Интернет, в том числе через прокси-серверы HTTP. |
WebSockets |
Сокеты поддерживаются классами в пространствах имен Windows.Networking.Sockets и Windows.Networking.
В Windows 8 также вводится новый тип сокета — WebSocket. Подробнее см. в разделе Подключение с помощью сокетов WebSocket и классов MessageWebSocket и StreamWebSocket.
В этом разделе
Тема | Описание |
---|---|
Подключение с помощью сокета потока | Узнайте, как подключаться к сетевому ресурсу с помощью сокета потока, используя протокол TCP для отправки и получения данных. |
Подключение с помощью сокета датаграмм | Узнайте, как подключаться к сетевому ресурсу с помощью сокета датаграмм, используя протокол UDP для отправки и получения данных. |
Использование расширенных элементов управления сокета | Узнайте, как применять дополнительные элементы управления сокетом при использовании DatagramSocket, StreamSocket или StreamSocketListener. |
Защита подключений через сокет с помощью протокола TLS/SSL | Узнайте, как защитить подключения через сокет с помощью протокола TLS/SSL при использовании StreamSocket. |
Настройка времени ожидания при выполнении операций с сокетами | Узнайте, как настроить время ожидания для сетевых операций с сокетами, чтобы ограничить время ожидания окончания операции. |
Использование сокетов вместе с сетевой изоляцией
Функция сетевой изоляции в Windows 8.1, Windows Phone 8.1 и Windows Server 2012 R2 позволяет разработчику управлять доступом приложения среды выполнения Windows к сети и ограничивать его. Доступ к сети может потребоваться не всем приложениям. Однако для приложений, нуждающихся в нем, Windows 8.1 и Windows Server 2012 R2 предоставляют разные уровни доступа к сети, которые можно включить, выбрав соответствующие возможности.
Сетевая изоляция позволяет разработчику определить для каждого приложения область необходимого доступа к сети. Приложению без соответствующей определенной области запрещен доступ к отдельному типу сети и к отдельному типу сетевых запросов (только исходящим запросам, инициированным клиентом, или им же в сочетании с входящими нежелательными запросами). Возможность настраивать и применять сетевую изоляцию гарантирует, что даже в случае компрометации приложения оно сможет получить доступ только к тем сетям, к которым доступ ему предоставлен явно. Таким образом значительно сокращается область воздействия на другие приложения и Windows.
Сетевая изоляция влияет на все элементы класса в Windows.Networking.Sockets и связанных пространствах имен, которые пытаются получить доступ к сети. Сетевая изоляция активно используется в Windows. Вызов элемента класса в пространстве имен Windows.Networking.Sockets, обеспечивающем доступ к сети, может быть не выполнен из-за сетевой изоляции, если соответствующая возможность работы с сетью не была включена.
Возможности сети для приложения настраиваются в его манифесте при сборке. Они обычно добавляются с помощью Microsoft Visual Studio 2013 в ходе разработки приложения. Возможности работы с сетью можно также задать вручную в файле манифеста приложения, используя текстовый редактор.
Дополнительные сведения о сетевой изоляции см. в разделе Настройка возможностей сетевой изоляции.
Связанные разделы
Другие ресурсы
Настройка возможностей сетевой изоляции
Настройка параметров фонового подключения
Устранение неполадок и отладка сетевых подключений
Ссылки
Windows.Networking.Connectivity
Примеры