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, the Start method 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 AcceptTcpClient. For more detailed behavioral control, use AcceptSocket. 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.