DatagramSocketControl 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
提供 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
- 繼承
- 屬性
Windows 需求
裝置系列 |
Windows 10 (已於 10.0.10240.0 引進)
|
API contract |
Windows.Foundation.UniversalApiContract (已於 v1.0 引進)
|
應用程式功能 |
ID_CAP_NETWORKING [Windows Phone]
|
備註
DatagramSocketControl 類別可讓您存取 DatagramSocket 物件上的進階通訊端控制資料。
DatagramSocketControl 物件會自動使用父 DatagramSocket 物件建立。 DatagramSocket.Control屬性可讓您存取相關聯的 DatagramSocketControl 物件。
在DatagramSocket系結或連接之前或之後,可以設定OutboundUnicastHopLimit屬性。 在系結或連接的 DatagramSocket上變更此值之前,應該先排清任何傳出封包,以確保所有先前寫入的資料都會以先前的躍點限制送出。
必須先設定 DatagramSocketControl 上其他屬性值的任何變更,才能系結或連接 DatagramSocket 。 因此,如果您需要變更DontFragment、InboundBufferSizeInBytes或QualityOfService屬性,則必須在成功呼叫BindEndpointAsync、BindServiceNameAsync或DatagramSocket上的其中一個ConnectAsync方法之前發生這些變更。
下列範例會建立 DatagramSocket,然後示範如何將 QualityOfService 屬性設定為 LowLatency。 其他屬性可能以類似的方式設定。 完成後,應用程式可以連接 DatagramSocket 或傳送通訊端上的資料。
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.
如需使用 DatagramSocketControl 的詳細資訊,請參閱 如何使用進階通訊端控制項。
屬性
DontFragment |
取得或設定布林值,指定 DatagramSocket 是否允許將 UDP 的 IP 資料包分散。 |
InboundBufferSizeInBytes |
取得或設定用於在 DatagramSocket 物件上接收資料的緩衝區大小,以位元組為單位。 |
MulticastOnly |
取得或設定 Boolean 值,指定 DatagramSocket 是否能夠與其他系結至相同位址/埠的 Win32 或 WinRT 多播通訊端共存。 |
OutboundUnicastHopLimit |
取得或設定 DatagramSocket 物件傳送至單播 IP 位址之輸出封包的躍點限制。 |
QualityOfService |
取得或設定 DatagramSocket 物件上的服務品質。 |