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
| Configuration requise | Description |
|---|---|
| Famille d’appareils |
Windows 10 (introduit dans 10.0.10240.0)
|
| API contract |
Windows.Foundation.UniversalApiContract (introduit dans v1.0)
|
Remarques
La classe DatagramSocketControl permet d’accéder aux données de contrôle de socket avancées 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 la liaison ou la connexion du DatagramSocket . 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 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 à BindEndpointAsync, BindServiceNameAsync ou l’une des méthodes ConnectAsync sur 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 manière similaire. 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 Guide pratique pour utiliser des contrôles de socket avancés.
Propriétés
| Nom | Description |
|---|---|
| DontFragment |
Obtient ou définit une valeur booléenne qui spécifie si datagramSocket permet aux datagrammes IP pour UDP d’être fragmentés. |
| 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 datagramSocket est en mesure de coexister avec d’autres sockets Win32 ou WinRT multidiffusion 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 de monodiffusion par l’objet DatagramSocket . |
| QualityOfService |
Obtient ou définit la qualité du service sur un objet DatagramSocket . |