DatagramSocketControl Klasse
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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
- Attribute
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]
|
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.
Dont |
Ruft einen booleschen Wert ab, der angibt, ob das DatagramSocket die Fragmentierung von IP-Datagrammen für UDP zulässt, oder legt diesen fest. |
Inbound |
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. |
Multicast |
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. |
Outbound |
Ruft das Hoplimit für ein ausgehendes Paket ab, das vom DatagramSocket-Objekt an eine Unicast-IP-Adresse gesendet wird, oder legt ihn fest. |
Quality |
Ruft die Dienstqualität für ein DatagramSocket-Objekt ab oder legt diese fest. |