Socket.Accept Метод

Определение

Создает новый объект Socket для заново созданного подключения.

public:
 System::Net::Sockets::Socket ^ Accept();
public System.Net.Sockets.Socket Accept ();
member this.Accept : unit -> System.Net.Sockets.Socket
Public Function Accept () As Socket

Возвращаемое значение

Socket

Объект Socket для заново созданного подключения.

Исключения

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

Socket был закрыт.

Принимающий сокет не производит прослушивание подключений. Необходимо вызвать Bind(EndPoint) и Listen(Int32) до вызова объекта Accept().

Примеры

В следующем примере кода принимается простое Socket соединение.

protected:
   void AcceptMethod( Socket^ listeningSocket )
   {
      Socket^ mySocket = listeningSocket->Accept();
   }
protected void AcceptMethod(Socket listeningSocket)
{
    Socket mySocket = listeningSocket.Accept();
}
   Protected Sub AcceptMethod(listeningSocket As Socket)
       

Dim mySocket As Socket = listeningSocket.Accept()
       
   End Sub

Комментарии

Accept синхронно извлекает первый ожидающий запрос на подключение из очереди запросов на подключение сокета прослушивания, а затем создает и возвращает новое Socket. Вы не можете использовать это значение Socket для приема дополнительных подключений из очереди подключений. Однако можно вызвать RemoteEndPoint метод возвращаемого Socket , чтобы определить сетевой адрес и номер порта удаленного узла.

В режиме блокировки блокируется до тех пор, Accept пока не будет поставлена в очередь входящая попытка подключения. После принятия подключения исходный Socket продолжает очередь входящих запросов на подключение, пока вы не закроете его.

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

Примечание

Перед вызовом Accept метода необходимо сначала вызвать Listen метод для прослушивания и очереди входящих запросов на подключение.

Примечание

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

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

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