Condividi tramite


DatagramSocketControl Classe

Definizione

Fornisce i dati del 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

Famiglia di dispositivi
Windows 10 (è stato introdotto in 10.0.10240.0)
API contract
Windows.Foundation.UniversalApiContract (è stato introdotto in v1.0)
Funzionalità dell'app
ID_CAP_NETWORKING [Windows Phone]

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 datagramma associato o connessoSocket, 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.

Tutte le modifiche apportate agli altri valori di proprietà in DatagramSocketControl devono essere impostate prima dell'associazione o della connessione di DatagramSocket . 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 i controlli socket avanzati.

Proprietà

DontFragment

Ottiene o imposta un valore booleano che specifica se DatagramSocket 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