Compartir a través de


DatagramSocketControl Clase

Definición

Proporciona datos de control de socket en un 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
Herencia
Object Platform::Object IInspectable DatagramSocketControl
Atributos

Requisitos de Windows

Familia de dispositivos
Windows 10 (se introdujo en la versión 10.0.10240.0)
API contract
Windows.Foundation.UniversalApiContract (se introdujo en la versión v1.0)
Características de aplicaciones
ID_CAP_NETWORKING [Windows Phone]

Comentarios

La clase DatagramSocketControl proporciona acceso a datos de control de socket avanzados en un objeto DatagramSocket .

Un objeto DatagramSocketControl se crea automáticamente con el objeto Primario DatagramSocket . La propiedad DatagramSocket.Control proporciona acceso al objeto DatagramSocketControl asociado.

La propiedad OutboundUnicastHopLimit se puede establecer antes o después de que DatagramSocket esté enlazada o conectada. Antes de cambiar este valor en un DatagramSocket enlazado o conectado, los paquetes salientes deben vaciarse primero para asegurarse de que todos los datos escritos previamente se envían con el límite de salto anterior.

Los cambios realizados en los demás valores de propiedad en DatagramSocketControl deben establecerse antes de que DatagramSocket esté enlazado o conectado. Como resultado, si necesita realizar cambios en las propiedades DontFragment, InboundBufferSizeInBytes o QualityOfService , estos cambios deben producirse antes de una llamada correcta a BindEndpointAsync, BindServiceNameAsync o uno de los métodos ConnectAsync en DatagramSocket.

En el ejemplo siguiente se crea un DatagramSocket y, a continuación, se muestra cómo establecer la propiedad QualityOfService en LowLatency. Otras propiedades se pueden establecer de forma similar. Una vez hecho esto, la aplicación puede conectar DatagramSocket o enviar datos en el socket.

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 obtener más información sobre el uso de DatagramSocketControl, vea Uso de controles de socket avanzados.

Propiedades

DontFragment

Obtiene o establece un valor booleano que especifica si DatagramSocket permite fragmentar los datagramas IP para UDP.

InboundBufferSizeInBytes

Obtiene o establece el tamaño, en bytes, del búfer utilizado para recibir datos en el objeto DatagramSocket .

MulticastOnly

Obtiene o establece un valor booleano que especifica si datagramSocket puede coexistir con otros sockets de multidifusión Win32 o WinRT enlazados a la misma dirección o puerto.

OutboundUnicastHopLimit

Obtiene o establece el límite de salto en un paquete saliente enviado a una dirección IP de unidifusión por el objeto DatagramSocket .

QualityOfService

Obtiene o establece la calidad del servicio en un objeto DatagramSocket .

Se aplica a

Consulte también