DatagramSocketControl Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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
- 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 . |