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.
Примечание
Параметр невыполненной работы ограничен различными значениями в зависимости от операционной системы. Можно указать более высокое значение, но невыполненная работа будет ограничена в зависимости от операционной системы.