Sprache

DatagramSocketControl Klasse

Definition

Stellt Socketsteuerelementdaten für ein DatagramSocket -Objekt bereit.

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
Vererbung
Object Platform::Object IInspectable DatagramSocketControl
Attribute

Windows-Anforderungen

Anforderungen Beschreibung
Gerätefamilie
Windows 10 (eingeführt in 10.0.10240.0)
API contract
Windows.Foundation.UniversalApiContract (eingeführt in v1.0)

Hinweise

Die DatagramSocketControl-Klasse bietet Zugriff auf erweiterte Socketsteuerelementdaten für ein DatagramSocket-Objekt .

Ein DatagramSocketControl-Objekt wird automatisch mit dem übergeordneten DatagramSocket-Objekt erstellt. Die DatagramSocket.Control-Eigenschaft bietet Zugriff auf das zugeordnete DatagramSocketControl-Objekt.

Die OutboundUnicastHopLimit-Eigenschaft kann vor oder nach der Bindung oder Verbindung des DatagramSocket festgelegt werden. Bevor Sie diesen Wert für ein gebundenes oder verbundenes DatagramSocket ändern, sollten alle ausgehenden Pakete zuerst geleert werden, um sicherzustellen, dass alle zuvor geschriebenen Daten mit dem vorherigen Hoplimit gesendet werden.

Alle Änderungen an den anderen Eigenschaftswerten für DatagramSocketControl müssen festgelegt werden, bevor das DatagramSocket gebunden oder verbunden ist. Wenn Sie daher Änderungen an den Eigenschaften DontFragment, InboundBufferSizeInBytes oder QualityOfService vornehmen müssen, müssen diese Änderungen vor einem erfolgreichen Aufruf der BindEndpointAsync-, BindServiceNameAsync- oder einer der ConnectAsync-Methoden im DatagramSocket auftreten.

Im folgenden Beispiel wird ein DatagramSocket erstellt und anschließend veranschaulicht, wie die QualityOfService-Eigenschaft auf LowLatency festgelegt wird. Andere Eigenschaften können auf ähnliche Weise festgelegt werden. Nachdem dies erfolgt ist, kann die App das DatagramSocket verbinden oder Daten im Socket senden.

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.

Weitere Informationen zur Verwendung von DatagramSocketControl finden Sie unter Verwenden erweiterter Socketsteuerelemente.

Eigenschaften

Name Beschreibung
DontFragment

Dient zum Abrufen oder Festlegen eines booleschen Werts, der angibt, ob datagramSocket IP-Datagramme für UDP fragmentiert werden kann.

InboundBufferSizeInBytes

Dient zum Abrufen oder Festlegen der Größe des Puffers, der zum Empfangen von Daten für das DatagramSocket -Objekt verwendet wird.

MulticastOnly

Dient zum Abrufen oder Festlegen eines booleschen Werts, der angibt, ob das DatagramSocket mit anderen Win32- oder WinRT-Multicast-Sockets koexistieren kann, die an dieselbe Adresse/denselben Port gebunden sind.

OutboundUnicastHopLimit

Dient zum Abrufen oder Festlegen des Hoplimits für ein ausgehendes Paket, das von dem DatagramSocket -Objekt an eine Unicast-IP-Adresse gesendet wird.

QualityOfService

Dient zum Abrufen oder Festlegen der Dienstqualität für ein DatagramSocket -Objekt.

Gilt für:

Siehe auch