Compartilhar via


DatagramSocketControl Classe

Definição

Fornece dados de controle de soquete em um objeto 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
Herança
Object Platform::Object IInspectable DatagramSocketControl
Atributos

Requisitos do Windows

Família de dispositivos
Windows 10 (introduzida na 10.0.10240.0)
API contract
Windows.Foundation.UniversalApiContract (introduzida na v1.0)
Funcionalidades do aplicativo
ID_CAP_NETWORKING [Windows Phone]

Comentários

A classe DatagramSocketControl fornece acesso a dados avançados de controle de soquete em um objeto DatagramSocket .

Um objeto DatagramSocketControl é criado automaticamente com o objeto Pai DatagramSocket . A propriedade DatagramSocket.Control fornece acesso ao objeto DatagramSocketControl associado.

A propriedade OutboundUnicastHopLimit pode ser definida antes ou depois que o DatagramSocket estiver associado ou conectado. Antes de alterar esse valor em um DatagramSocket associado ou conectado, todos os pacotes de saída devem primeiro ser liberados para garantir que todos os dados gravados anteriormente sejam enviados com o limite de salto anterior.

Todas as alterações nos outros valores de propriedade no DatagramSocketControl devem ser definidas antes que o DatagramSocket seja associado ou conectado. Como resultado, se você precisar fazer alterações nas propriedades DontFragment, InboundBufferSizeInBytes ou QualityOfService , essas alterações deverão ocorrer antes de uma chamada bem-sucedida para BindEndpointAsync, BindServiceNameAsync ou um dos métodos ConnectAsync no DatagramSocket.

O exemplo a seguir cria um DatagramSocket e demonstra como definir a propriedade QualityOfService como LowLatency. Outras propriedades podem ser definidas de maneira semelhante. Depois que isso for feito, o aplicativo poderá conectar o DatagramSocket ou enviar dados no soquete.

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.

Para obter mais informações sobre como usar DatagramSocketControl, consulte Como usar controles de soquete avançados.

Propriedades

DontFragment

Obtém ou define um valor booliano que especifica se o DatagramSocket permite que datagramas de IP para UDP sejam fragmentados.

InboundBufferSizeInBytes

Obtém ou define o tamanho, em bytes, do buffer usado para receber dados no objeto DatagramSocket .

MulticastOnly

Obtém ou define um valor booliano que especifica se o DatagramSocket é capaz de coexistir com outros soquetes multicast Win32 ou WinRT associados ao mesmo endereço/porta.

OutboundUnicastHopLimit

Obtém ou define o limite de salto em um pacote de saída enviado para um endereço IP unicast pelo objeto DatagramSocket .

QualityOfService

Obtém ou define a qualidade do serviço em um objeto DatagramSocket .

Aplica-se a

Confira também