TcpListener::Start Method (Int32)
Starts listening for incoming connection requests with a maximum number of pending connection.
Assembly: System (in System.dll)
Parameters
- backlog
-
Type:
System::Int32
The maximum length of the pending connections queue.
| Exception | Condition |
|---|---|
| SocketException | An error occurred while accessing the socket. See the Remarks section for more information. |
| ArgumentOutOfRangeException | The backlog parameter is less than zero or exceeds the maximum number of permitted connections. |
| InvalidOperationException | The underlying Socket is null. |
The Start method initializes the underlying Socket, binds it to a local endpoint, and listens for incoming connection attempts. If a connection request is received, Start will queue the request and continue listening for additional requests until you call the Stop method. If TcpListener receives a connection request after it has already queued the maximum number of connections it will throw a SocketException on the client.
To remove a connection from the incoming connection queue, use either the AcceptTcpClient method or the AcceptSocket method. The AcceptTcpClient method will remove a connection from the queue and return a TcpClient that you can use to send and receive data. The AcceptSocket method will return a Socket that you can use to do the same. If your application only requires synchronous I/O, use the AcceptTcpClient. For more detailed behavioral control, use AcceptSocket method. Both of these methods block until a connection request is available in the queue.
Use the Stop method to close the TcpListener and stop listening. You are responsible for closing your accepted connections separately.
Note |
|---|
Use the SocketException::ErrorCode property to obtain the specific error code and refer to the Windows Sockets version 2 API error code documentation in the MSDN library at http://msdn.microsoft.com/library/ for a detailed description of the error. |
Note |
|---|
This member outputs trace information when you enable network tracing in your application. For more information, see Network Tracing in the .NET Framework. |
The following code example demonstrates how Start is used to listen for incoming client connection attempts.
Available since 2.0
