Язык

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

Комментарии

Класс 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

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

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

См. также