DatagramSocketControl Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Предоставляет данные управления сокетом для объекта DatagramSocket .
public ref class DatagramSocketControl sealed
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
class DatagramSocketControl final
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
public sealed class DatagramSocketControl
Public NotInheritable Class DatagramSocketControl
- Наследование
- Атрибуты
Требования к Windows
Семейство устройств |
Windows 10 (появилось в 10.0.10240.0)
|
API contract |
Windows.Foundation.UniversalApiContract (появилось в v1.0)
|
Возможности приложения |
ID_CAP_NETWORKING [Windows Phone]
|
Комментарии
Класс DatagramSocketControl предоставляет доступ к расширенным данным управления сокетом в объекте DatagramSocket .
Объект DatagramSocketControl создается автоматически с родительским объектом DatagramSocket . Свойство DatagramSocket.Control предоставляет доступ к связанному объекту DatagramSocketControl.
Свойство OutboundUnicastHopLimit можно задать до или после привязки или подключения DatagramSocket . Перед изменением этого значения в привязанном или подключенном DatagramSocket все исходящие пакеты необходимо сначала очистить, чтобы обеспечить отправку всех ранее записанных данных с предыдущим ограничением прыжка.
Любые изменения других значений свойств в DatagramSocketControl должны быть заданы перед привязкой или подключением DatagramSocket . В результате, если необходимо внести изменения в свойства DontFragment, InboundBufferSizeInBytes или QualityOfService , эти изменения должны произойти до успешного вызова метода BindEndpointAsync, BindServiceNameAsync или одного из методов ConnectAsync в DatagramSocket.
В следующем примере создается DatagramSocket, а затем показано, как присвоить свойству QualityOfService значение LowLatency. Другие свойства могут быть заданы аналогичным образом. После этого приложение может подключить DatagramSocket или отправить данные в сокет.
using Windows.Networking.Sockets;
DatagramSocket clientSocket = new DatagramSocket();
// Get the current setting for this option.
// This isn't required, but it shows how to get the current setting.
var currentSetting = clientSocket.Control.QualityOfService;
// Set QualityOfService to LowLatency.
clientSocket.Control.QualityOfService = SocketQualityOfService.LowLatency;
// Now you can call the ConnectAsync method to connect the DatagramSocket.
#include <winrt/Windows.Networking.Sockets.h>
using namespace winrt;
...
Windows::Networking::Sockets::DatagramSocket clientSocket;
// Get the current setting for this option.
// This isn't required, but it shows how to get the current setting.
auto currentSetting{ clientSocket.Control().QualityOfService() };
// Set QualityOfService to LowLatency.
clientSocket.Control().QualityOfService(Windows::Networking::Sockets::SocketQualityOfService::LowLatency);
// Now you can call the ConnectAsync function to connect the DatagramSocket.
using namespace Windows::Networking::Sockets;
DatagramSocket^ clientSocket = ref new DatagramSocket();
// Get the current setting for this option.
// This isn't required, but it shows how to get the current setting.
auto currentSetting = clientSocket->Control->QualityOfService;
// Set QualityOfService to LowLatency.
clientSocket->Control->QualityOfService = SocketQualityOfService::LowLatency;
// Now you can call the ConnectAsync method to connect the DatagramSocket.
Дополнительные сведения об использовании DatagramSocketControl см. в статье Использование расширенных элементов управления сокетом.
Свойства
DontFragment |
Возвращает или задает логическое значение, указывающее, разрешает ли DatagramSocket фрагментировать ip-датаграммы для UDP. |
InboundBufferSizeInBytes |
Возвращает или задает размер (в байтах) буфера, используемого для получения данных в объекте DatagramSocket . |
MulticastOnly |
Возвращает или задает логическое значение, указывающее, может ли DatagramSocket сосуществовать с другими многоадресными сокетами Win32 или WinRT, привязанными к одному адресу или порту. |
OutboundUnicastHopLimit |
Возвращает или задает ограничение прыжка для исходящего пакета, отправленного на одноадресный IP-адрес объектом DatagramSocket . |
QualityOfService |
Возвращает или задает качество обслуживания объекта DatagramSocket . |