SetSocketOption Method (SocketOptionLevel, SocketOptionName, Byte[])

Socket.SetSocketOption Method (SocketOptionLevel, SocketOptionName, Byte[])


Sets the specified Socket option to the specified value, represented as a byte array.

Namespace:   System.Net.Sockets
Assembly:  System (in System.dll)

public void SetSocketOption(
	SocketOptionLevel optionLevel,
	SocketOptionName optionName,
	byte[] optionValue


Type: System.Net.Sockets.SocketOptionLevel

One of the SocketOptionLevel values.

Type: System.Net.Sockets.SocketOptionName

One of the SocketOptionName values.

Type: System.Byte[]

An array of type Byte that represents the value of the option.

Exception Condition

An error occurred when attempting to access the socket. See the Remarks section for more information.


The Socket has been closed.

Socket options determine the behavior of the current Socket. Use this overload to set those Socket options that require a byte array as an option value.


If you receive a SocketException, use the SocketException.ErrorCode property to obtain the specific error code. After you have obtained this code, refer to the Windows Sockets version 2 API error code documentation in the MSDN library for a detailed description of the error.


This member outputs trace information when you enable network tracing in your application. For more information, see Network Tracing in the .NET Framework.


You must call the Bind method before using AddMembership as the optionName parameter.

The following code example sets the LingerOption and Send time-out values.

// Send operations will time-out if confirmation 
// is not received within 1000 milliseconds.
s.SetSocketOption (SocketOptionLevel.Socket, SocketOptionName.SendTimeout, 1000);

// The socket will linger for 10 seconds after Socket.Close is called.
LingerOption lingerOption = new LingerOption (true, 10);

s.SetSocketOption (SocketOptionLevel.Socket, SocketOptionName.Linger, lingerOption);

.NET Framework
Available since 1.1
Return to top
© 2015 Microsoft