Freigeben über


DatagramSocketControl Klasse

Definition

Stellt Socketsteuerungsdaten 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

Gerätefamilie
Windows 10 (eingeführt in 10.0.10240.0)
API contract
Windows.Foundation.UniversalApiContract (eingeführt in v1.0)
App-Funktionen
ID_CAP_NETWORKING [Windows Phone]

Hinweise

Die DatagramSocketControl-Klasse bietet Zugriff auf erweiterte Socketsteuerungsdaten 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 dem Binden oder Verbinden des DatagramSocket festgelegt werden. Vor dem Ändern dieses Werts für ein gebundenes oder verbundenes DatagramSocket sollten alle ausgehenden Pakete geleert werden, um sicherzustellen, dass alle zuvor geschriebenen Daten mit dem vorherigen Hoplimit gesendet werden.

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

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. Danach kann die App das DatagramSocket verbinden oder Daten über den 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

DontFragment

Ruft einen booleschen Wert ab, der angibt, ob das DatagramSocket die Fragmentierung von IP-Datagrammen für UDP zulässt, oder legt diesen fest.

InboundBufferSizeInBytes

Ruft die Größe des Puffers in Bytes ab, der zum Empfangen von Daten für das DatagramSocket-Objekt verwendet wird, oder legt diese fest.

MulticastOnly

Ruft einen booleschen Wert ab, der angibt, ob datagramSocket mit anderen Win32- oder WinRT-Multicastsockets, die an die gleiche Adresse/denselben Port gebunden sind, vorhanden ist, oder legt diesen fest.

OutboundUnicastHopLimit

Ruft das Hoplimit für ein ausgehendes Paket ab, das vom DatagramSocket-Objekt an eine Unicast-IP-Adresse gesendet wird, oder legt ihn fest.

QualityOfService

Ruft die Dienstqualität für ein DatagramSocket-Objekt ab oder legt diese fest.

Gilt für:

Weitere Informationen