DatagramSocketControl Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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à
- 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 . |