Lingua

DatagramSocketControl Classe

Definizione

Fornisce dati di controllo socket in un oggetto 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
Ereditarietà
Object Platform::Object IInspectable DatagramSocketControl
Attributi

Requisiti Windows

Requisiti Descrizione
Famiglia di dispositivi
Windows 10 (è stato introdotto in 10.0.10240.0)
API contract
Windows.Foundation.UniversalApiContract (è stato introdotto in v1.0)

Commenti

La classe DatagramSocketControl consente di accedere ai dati avanzati del controllo socket in un oggetto DatagramSocket .

Un oggetto DatagramSocketControl viene creato automaticamente con l'oggetto DatagramSocket padre. La proprietà DatagramSocket.Control consente di accedere all'oggetto DatagramSocketControl associato.

La proprietà OutboundUnicastHopLimit può essere impostata prima o dopo l'associazione o la connessione di DatagramSocket . Prima di modificare questo valore in un oggetto DatagramSocket associato o connesso, tutti i pacchetti in uscita devono essere scaricati per assicurarsi che tutti i dati scritti in precedenza vengano inviati con il limite di hop precedente.

Eventuali modifiche apportate agli altri valori di proprietà in DatagramSocketControl devono essere impostate prima che datagramSocket sia associato o connesso. Di conseguenza, se è necessario apportare modifiche alle proprietà DontFragment, InboundBufferSizeInBytes o QualityOfService , queste modifiche devono verificarsi prima di una chiamata corretta a BindEndpointAsync, BindServiceNameAsync o uno dei metodi ConnectAsync in DatagramSocket.

Nell'esempio seguente viene creato un oggetto DatagramSocket e viene illustrato come impostare la proprietà QualityOfService su LowLatency. Altre proprietà possono essere impostate in modo simile. Al termine, l'app può connettere DatagramSocket o inviare dati sul 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.

Per altre informazioni sull'uso di DatagramSocketControl, vedere Come usare controlli socket avanzati.

Proprietà

Nome Descrizione
DontFragment

Ottiene o imposta un valore booleano che specifica se datagrammiSocket consente la frammentazione di datagrammi IP per UDP.

InboundBufferSizeInBytes

Ottiene o imposta le dimensioni, in byte, del buffer utilizzato per la ricezione di dati nell'oggetto DatagramSocket .

MulticastOnly

Ottiene o imposta un valore booleano che specifica se DatagramSocket è in grado di coesistere con altri socket multicast Win32 o WinRT associati alla stessa porta/indirizzo.

OutboundUnicastHopLimit

Ottiene o imposta il limite di hop per un pacchetto in uscita inviato a un indirizzo IP unicast dall'oggetto DatagramSocket .

QualityOfService

Ottiene o imposta la qualità del servizio in un oggetto DatagramSocket .

Si applica a

Vedi anche