Поделиться через


StreamSocketControl Класс

Определение

Предоставляет данные управления сокетом для объекта StreamSocket .

public ref class StreamSocketControl sealed
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
class StreamSocketControl final
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
public sealed class StreamSocketControl
Public NotInheritable Class StreamSocketControl
Наследование
Object Platform::Object IInspectable StreamSocketControl
Атрибуты

Требования к Windows

Семейство устройств
Windows 10 (появилось в 10.0.10240.0)
API contract
Windows.Foundation.UniversalApiContract (появилось в v1.0)
Возможности приложения
bluetooth.rfcomm ID_CAP_NETWORKING [Windows Phone]

Комментарии

Класс StreamSocketControl предоставляет доступ к расширенным данным управления сокета в объекте StreamSocket .

Объект StreamSocketControl автоматически создается с родительским объектом StreamSocket . Свойство StreamSocket.Control предоставляет доступ к связанному объекту StreamSocketControl.

Любые изменения значений свойств в StreamSocketControl должны быть заданы перед подключением StreamSocket . В результате, если необходимо внести изменения в свойства ClientCertificate, IgnorableServerCertificateErrors, KeepAlive, NoDelay, OutboundBufferSizeInBytes , OutboundUnicastHopLimit или QualityOfService , эти изменения должны произойти до успешного вызова одного из методов ConnectAsync в StreamSocket.

Используйте ClientCertificate , чтобы задать сертификат клиента, который будет использоваться для безопасных подключений к связанному объекту StreamSocket .

В следующем примере создается StreamSocket, а затем показано, как задать свойству NoDelayзначение false. Другие свойства могут быть заданы аналогичным образом. После этого приложение может подключить StreamSocket.

using Windows.Networking.Sockets;

StreamSocket clientSocket = new StreamSocket();

// Get the current setting for this option.
// This isn't required, but it shows how to get the current setting.
bool currentSetting = clientSocket.Control.NoDelay;

// Set NoDelay to false so that the Nagle algorithm is not disabled.
clientSocket.Control.NoDelay = false;

// Now you can call the ConnectAsync method to connect the StreamSocket.
#include <winrt/Windows.Networking.Sockets.h>
using namespace winrt;
...
Windows::Networking::Sockets::StreamSocket clientSocket;

// Get the current setting for this option.
// This isn't required, but it shows how to get the current setting.
bool currentSetting{ clientSocket.Control().NoDelay() };

// Set NoDelay to false so that the Nagle algorithm is not disabled.
clientSocket.Control().NoDelay(false);

// Now you can call the ConnectAsync function to connect the StreamSocket.
using namespace Windows::Networking::Sockets;

StreamSocket^ clientSocket = ref new StreamSocket();

// Get the current setting for this option.
// This isn't required, but it shows how to get the current setting.
bool currentSetting = clientSocket->Control->NoDelay;

// Set NoDelay to false so that the Nagle algorithm is not disabled.
clientSocket->Control->NoDelay = false;

// Now you can call the ConnectAsync method to connect the StreamSocket.

Дополнительные сведения об использовании StreamSocketControl см. в статье Использование расширенных элементов управления сокетом.

Журнал версий

Версия Windows Версия пакета SDK Добавленная стоимость
1709 16299 MinProtectionLevel

Свойства

ClientCertificate

Возвращает или задает SSL/TLS-сертификат клиента, который будет отправлен серверу, если сервер запрашивает сертификат клиента.

IgnorableServerCertificateErrors

Получение вектора ошибок SSL-сервера, которые следует игнорировать при создании SSL-соединения с StreamSocket.

KeepAlive

Значение типа , указывающее, отправляются ли пакеты в удаленное место назначения в объекте StreamSocket .

MinProtectionLevel

Ограничивает версию протокола TLS, которая будет согласовываться, когда разработчик использует методы ConnectAsync() или UpgradeToSslAsync(), требующие TLS.

NoDelay

Значение , указывающее, используется ли алгоритм Nagle в объекте StreamSocket .

OutboundBufferSizeInBytes

Размер (в байтах) буфера отправки, используемого для отправки данных в объект StreamSocket .

OutboundUnicastHopLimit

Ограничение прыжка для исходящего пакета, отправленного на одноадресный IP-адрес объектом StreamSocket .

QualityOfService

Качество обслуживания объекта StreamSocket .

SerializeConnectionAttempts

Значение типа , указывающее, выполняются ли попытки подключения параллельно или последовательно.

Применяется к

См. также раздел