Поделиться через


TcpListener.Start Метод

Определение

Запускает ожидание входящих запросов на подключение.

Перегрузки

Start()

Запускает ожидание входящих запросов на подключение.

Start(Int32)

Запускает ожидание входящих запросов на подключение с максимальным числом ожидающих подключений.

Start()

Исходный код:
TCPListener.cs
Исходный код:
TCPListener.cs
Исходный код:
TCPListener.cs

Запускает ожидание входящих запросов на подключение.

public:
 void Start();
public void Start ();
member this.Start : unit -> unit
Public Sub Start ()

Исключения

Для получения кода ошибки можно воспользоваться свойством ErrorCode. Получив этот код, можно обратиться за подробным описанием ошибки к документации Коды ошибок API для сокетов Windows версии 2.

Примеры

В следующем примере кода показано, как Start используется для прослушивания входящих попыток подключения клиента.

public:
    static void DoStart(TcpListener^ listener, int backlog)
    {
        // Start listening for client connections with the
        // specified backlog.
        listener->Start(backlog);
        Console::WriteLine("Started listening");
    }
public static void DoStart(TcpListener t, int backlog)
{
    // Start listening for client connections with the
    // specified backlog.
    t.Start(backlog);
    Console.WriteLine("started listening");
}
Public Shared Sub DoStart(t As TcpListener, backlog As Integer)
   ' Start listening for client connections with the 
   ' specified backlog.
   t.Start(backlog)
   Console.WriteLine("started listening")
End Sub

Комментарии

Метод Start инициализирует базовый Socketобъект , привязывает его к локальной конечной точке и прослушивает входящие попытки подключения. Если запрос на подключение получен, Start метод помещит запрос в очередь и продолжит прослушивать дополнительные запросы, пока вы не вызовете Stop метод . Если TcpListener получает запрос на подключение после того, как он уже поставил в очередь максимальное число подключений SocketException , он вызовет исключение на клиенте.

Чтобы удалить подключение из очереди входящих подключений, используйте AcceptTcpClient метод или AcceptSocket метод . Метод AcceptTcpClient удалит подключение из очереди и возвратит TcpClient объект , который можно использовать для отправки и получения данных. Метод AcceptSocket вернет объект , Socket который можно использовать для выполнения аналогичных действий. Если приложению требуется только синхронный ввод-вывод, используйте AcceptTcpClient. Для более подробного контроля поведения используйте AcceptSocket. Оба этих метода блокируются до тех пор, пока запрос на подключение не будет доступен в очереди.

Используйте метод , Stop чтобы закрыть TcpListener и остановить прослушивание. Вы несете ответственность за закрытие принятых подключений отдельно.

Примечание

Данный член генерирует сведения трассировки, если в приложении включена трассировка сети. Дополнительные сведения см. в статье Трассировка сети в .NET Framework.

См. также раздел

Применяется к

Start(Int32)

Исходный код:
TCPListener.cs
Исходный код:
TCPListener.cs
Исходный код:
TCPListener.cs

Запускает ожидание входящих запросов на подключение с максимальным числом ожидающих подключений.

public:
 void Start(int backlog);
public void Start (int backlog);
member this.Start : int -> unit
Public Sub Start (backlog As Integer)

Параметры

backlog
Int32

Максимальная длина очереди ожидающих подключений.

Исключения

Произошла ошибка при получении доступа к сокету.

Значение параметра backlog меньше нуля или превышает максимальное число разрешенных подключений.

Основной объект Socket имеет значение null.

Примеры

В следующем примере кода показано, как Start используется для прослушивания входящих попыток подключения клиента.

public:
    static void DoStart(TcpListener^ listener, int backlog)
    {
        // Start listening for client connections with the
        // specified backlog.
        listener->Start(backlog);
        Console::WriteLine("Started listening");
    }
public static void DoStart(TcpListener t, int backlog)
{
    // Start listening for client connections with the
    // specified backlog.
    t.Start(backlog);
    Console.WriteLine("started listening");
}
Public Shared Sub DoStart(t As TcpListener, backlog As Integer)
   ' Start listening for client connections with the 
   ' specified backlog.
   t.Start(backlog)
   Console.WriteLine("started listening")
End Sub

Комментарии

Метод Start инициализирует базовый Socketобъект , привязывает его к локальной конечной точке и прослушивает входящие попытки подключения. Если запрос на подключение получен, Start будет ставить запрос в очередь и продолжать прослушивать дополнительные запросы, пока не будет вызываться Stop метод . Если TcpListener получает запрос на подключение после того, как он уже помещен в очередь, максимальное число подключений SocketException будет вызываться на клиенте.

Чтобы удалить подключение из очереди входящих подключений, используйте AcceptTcpClient метод или AcceptSocket метод . Метод AcceptTcpClient удалит подключение из очереди и возвратит TcpClient объект , который можно использовать для отправки и получения данных. Метод AcceptSocket вернет объект , Socket который можно использовать для выполнения аналогичных действий. Если приложению требуется только синхронный ввод-вывод, используйте AcceptTcpClient. Для более подробного контроля поведения используйте AcceptSocket метод . Оба этих метода блокируются до тех пор, пока запрос на подключение не будет доступен в очереди.

Используйте метод , Stop чтобы закрыть TcpListener и остановить прослушивание. Вы несете ответственность за закрытие принятых подключений отдельно.

Примечание

Используйте свойство SocketException.ErrorCode для получения конкретного кода ошибки и обратитесь за подробным описанием ошибки к документации Коды ошибок API для сокетов Windows версии 2.

Примечание

Данный член генерирует сведения трассировки, если в приложении включена трассировка сети. Дополнительные сведения см. в статье Трассировка сети в .NET Framework.

См. также раздел

Применяется к