SelectMode Enumeration


The .NET API Reference documentation has a new home. Visit the .NET API Browser on to see the new experience.

Defines the polling modes for the Socket.Poll method.

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

public enum SelectMode

Member nameDescription

Error status mode.


Read status mode.


Write status mode.

The SelectMode enumeration defines the polling modes that can be passed to the Socket.Poll method. Use the SelectRead value to determine if a listening Socket has incoming connection requests. Use the SelectWrite value to determine if a Socket is writeable. Use the SelectError value to determine if there is an error condition present on the Socket. For explanations of writeability, readability, and the presence of error conditions, see the Socket.Poll method.

The following example checks the status of a Socket using all three SelectMode enumeration values. A call to Poll using the SelectWrite enumerated value should return true.

//Creates the Socket for sending data over TCP.
Socket s = new Socket(AddressFamily.InterNetwork, SocketType.Stream,
   ProtocolType.Tcp );

// Connects to host using IPEndPoint.
if (!s.Connected)
   strRetPage = "Unable to connect to host";
// Use the SelectWrite enumeration to obtain Socket status.
 if(s.Poll(-1, SelectMode.SelectWrite)){
      Console.WriteLine("This Socket is writable.");
 else if (s.Poll(-1, SelectMode.SelectRead)){
 	   Console.WriteLine("This Socket is readable." );
 else if (s.Poll(-1, SelectMode.SelectError)){
      Console.WriteLine("This Socket has an error.");

.NET Framework
Available since 1.1
Return to top