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


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 был закрыт.

Принимающий сокет не производит прослушивание подключений. Необходимо вызвать 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 версии 2 , чтобы получить подробное описание ошибки.

Примечание

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

Примечание

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

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

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