DatagramSocketControl class

Applies to Windows and Windows Phone

Provides socket control data on a DatagramSocket object.

Syntax


var datagramSocketControl = control;

Attributes

[DualApiPartition()]
[MarshalingBehavior(Agile)]
[Version(0x06020000)]

Members

The DatagramSocketControl class has these types of members:

Methods

The DatagramSocketControl class inherits methods from the Object class (C#/VB/C++).

Properties

The DatagramSocketControl class has these properties.

PropertyAccess typeDescription

DontFragment

Read/writeGets or sets a Boolean value that specifies whether the DatagramSocket allows IP datagrams for UDP to be fragmented.

InboundBufferSizeInBytes

Read/writeGet or set the size, in bytes, of the buffer used for receiving data on the DatagramSocket object.

OutboundUnicastHopLimit

Read/writeGets or sets the hop limit on an outbound packet sent to a unicast IP address by the DatagramSocket object.

QualityOfService

Read/writeGets or sets the quality of service on a DatagramSocket object.

 

Remarks

The DatagramSocketControl class provides access to advanced socket control data on a DatagramSocket object.

A DatagramSocketControl object is automatically created with the parent DatagramSocket object. The DatagramSocket.Control property provides access to the associated DatagramSocketControl object.

The OutboundUnicastHopLimit property can be set before or after the DatagramSocket is bound or connected. Before changing this value on a bound or connected DatagramSocket, any outgoing packets should first be flushed to ensure that all previously-written data is sent out with the previous hop limit.

Any changes to the other property values on the DatagramSocketControl must be set before the DatagramSocket is bound or connected. As a result if you need to make changes to the DontFragment, InboundBufferSizeInBytes, or QualityOfService properties, then these changes must occur before a successful call to the BindEndpointAsync, BindServiceNameAsync, or one of the ConnectAsync methods on the DatagramSocket.

The following example creates a DatagramSocket, and then demonstrates how to set the QualityOfService property to LowLatency. Other properties may be set in a similar manner. After this is done, the app can connect the DatagramSocket or send data on the socket.


var clientSocket = new Windows.Networking.Sockets.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.


For more information on using DatagramSocketControl, see How to use advanced socket controls (HTML) and How to use advanced socket controls (XAML).

Requirements

Minimum supported client

Windows 8 [Windows Store apps, desktop apps]

Minimum supported server

Windows Server 2012 [Windows Store apps, desktop apps]

Minimum supported phone

Windows Phone 8

Namespace

Windows.Networking.Sockets
Windows::Networking::Sockets [C++]

Metadata

Windows.winmd

DLL

Windows.Networking.dll

Capabilities

ID_CAP_NETWORKING [Windows Phone]

See also

Other resources
How to use advanced socket controls (HTML)
How to use advanced socket controls (XAML)
Reference
DatagramSocket
DatagramSocket.Control
DatagramSocketInformation
Object
Samples
DatagramSocket sample

 

 

Show:
© 2014 Microsoft