Socket.Listen Метод

Определение

Перегрузки

Listen()

Устанавливает объект Socket в состояние прослушивания.

Listen(Int32)

Устанавливает объект Socket в состояние прослушивания.

Listen()

Устанавливает объект Socket в состояние прослушивания.

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

Комментарии

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

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

Listen(Int32)

Устанавливает объект Socket в состояние прослушивания.

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

Параметры

backlog
Int32

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

Исключения

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

Socket был закрыт.

Примеры

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

// create the socket
Socket^ listenSocket = gcnew Socket( AddressFamily::InterNetwork,
   SocketType::Stream,
   ProtocolType::Tcp );

// bind the listening socket to the port
IPAddress^ hostIP = ( Dns::Resolve( IPAddress::Any->ToString() ) )->AddressList[ 0 ];
IPEndPoint^ ep = gcnew IPEndPoint( hostIP,port );
listenSocket->Bind( ep );

// start listening
listenSocket->Listen( backlog );
    // create the socket
    Socket listenSocket = new Socket(AddressFamily.InterNetwork,
                                     SocketType.Stream,
                                     ProtocolType.Tcp);

    // bind the listening socket to the port
IPAddress hostIP = (Dns.Resolve(IPAddress.Any.ToString())).AddressList[0];
    IPEndPoint ep = new IPEndPoint(hostIP, port);
    listenSocket.Bind(ep);

    // start listening
    listenSocket.Listen(backlog);
   ' create the socket
   Dim listenSocket As New Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp)
   
   ' bind the listening socket to the port
   Dim hostIP As IPAddress = Dns.Resolve(IPAddress.Any.ToString()).AddressList(0)
   Dim ep As New IPEndPoint(hostIP, port)
   listenSocket.Bind(ep)
   
   ' start listening
   listenSocket.Listen(backlog)
End Sub

Комментарии

Listen вызывает подключение, ориентированное Socket на прослушивание входящих попыток подключения. Параметр backlog указывает количество входящих подключений, которые можно поместить в очередь для принятия. Чтобы определить максимальное число подключений, которое можно указать, получите MaxConnections значение. Listen не блокируется.

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

Примечание

Необходимо вызвать Bind метод перед вызовом Listenили Listen вызвать исключение SocketException.

Примечание

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

Примечание

Параметр невыполненной работы ограничен различными значениями в зависимости от операционной системы. Можно указать более высокое значение, но невыполненная работа будет ограничена в зависимости от операционной системы.

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

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