DatagramSocketControl Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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
- 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 . |