Partager via


DatagramSocketControl Classe

Définition

Fournit des données de contrôle de socket sur un objet 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
Héritage
Object Platform::Object IInspectable DatagramSocketControl
Attributs

Configuration requise pour Windows

Famille d’appareils
Windows 10 (introduit dans 10.0.10240.0)
API contract
Windows.Foundation.UniversalApiContract (introduit dans v1.0)
Fonctionnalités de l’application
ID_CAP_NETWORKING [Windows Phone]

Remarques

La classe DatagramSocketControl permet d’accéder aux données avancées de contrôle de socket sur un objet DatagramSocket .

Un objet DatagramSocketControl est créé automatiquement avec l’objet DatagramSocket parent. La propriété DatagramSocket.Control permet d’accéder à l’objet DatagramSocketControl associé.

La propriété OutboundUnicastHopLimit peut être définie avant ou après que le DatagramSocket soit lié ou connecté. Avant de modifier cette valeur sur un DatagramSocket lié ou connecté, tous les paquets sortants doivent d’abord être vidés pour s’assurer que toutes les données écrites précédemment sont envoyées avec la limite de tronçon précédente.

Toutes les modifications apportées aux autres valeurs de propriété sur DatagramSocketControl doivent être définies avant que le DatagramSocket soit lié ou connecté. Par conséquent, si vous devez apporter des modifications aux propriétés DontFragment, InboundBufferSizeInBytes ou QualityOfService , ces modifications doivent se produire avant un appel réussi aux méthodes BindEndpointAsync, BindServiceNameAsync ou à l’une des méthodes ConnectAsync du DatagramSocket.

L’exemple suivant crée un DatagramSocket, puis montre comment définir la propriété QualityOfService sur LowLatency. D’autres propriétés peuvent être définies de la même manière. Une fois cette opération effectuée, l’application peut connecter le DatagramSocket ou envoyer des données sur le 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.

Pour plus d’informations sur l’utilisation de DatagramSocketControl, consultez Utilisation des contrôles de socket avancés.

Propriétés

DontFragment

Obtient ou définit une valeur booléenne qui spécifie si le DatagramSocket permet de fragmenter les datagrammes IP pour UDP.

InboundBufferSizeInBytes

Obtient ou définit la taille, en octets, de la mémoire tampon utilisée pour recevoir des données sur l’objet DatagramSocket .

MulticastOnly

Obtient ou définit une valeur booléenne qui spécifie si le DatagramSocket peut coexister avec d’autres sockets de multidiffusion Win32 ou WinRT liés à la même adresse/port.

OutboundUnicastHopLimit

Obtient ou définit la limite de tronçon sur un paquet sortant envoyé à une adresse IP unicast par l’objet DatagramSocket .

QualityOfService

Obtient ou définit la qualité de service sur un objet DatagramSocket .

S’applique à

Voir aussi