Udostępnij za pośrednictwem


Socket.Accept Metoda

Definicja

Tworzy nowe Socket dla nowo utworzonego połączenia.

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

Zwraca

A Socket dla nowo utworzonego połączenia.

Wyjątki

Wystąpił błąd podczas próby uzyskania dostępu do gniazda.

Została zamknięta Socket .

Gniazdo akceptujące nie nasłuchuje połączeń. Musisz wywołać metodę Bind(EndPoint) i Listen(Int32) przed wywołaniem metody Accept().

Przykłady

Poniższy przykład kodu akceptuje proste Socket połączenie.

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

Uwagi

Accept synchronicznie wyodrębnia pierwsze oczekujące żądanie połączenia z kolejki żądań połączenia gniazda nasłuchiwania, a następnie tworzy i zwraca nowy Socket. Nie można użyć tego zwróconego Socket polecenia, aby zaakceptować dodatkowe połączenia z kolejki połączeń. Można jednak wywołać metodę RemoteEndPoint zwróconej Socket metody w celu zidentyfikowania adresu sieciowego i numeru portu hosta zdalnego.

W trybie Accept blokowania bloki są blokowane, dopóki próba połączenia przychodzącego nie zostanie w kolejce. Po zaakceptowaniu połączenia oryginał Socket kontynuuje kolejkowanie przychodzących żądań połączeń do momentu jego zamknięcia.

Jeśli wywołasz tę metodę przy użyciu metody bez blokowania Socket, a żadne żądania połączenia nie są kolejkowane, Accept zgłasza błąd SocketException. Jeśli zostanie wyświetlony element SocketException, użyj SocketException.ErrorCode właściwości , aby uzyskać określony kod błędu. Po uzyskaniu tego kodu zapoznaj się z dokumentacją kodu błędu interfejsu API gniazda systemu Windows w wersji 2 , aby uzyskać szczegółowy opis błędu.

Uwaga

Przed wywołaniem metody należy najpierw wywołać metodę AcceptListen , aby nasłuchiwać żądań połączeń przychodzących i kolejkować je.

Uwaga

Ten element członkowski generuje informacje ze śledzenia pod warunkiem włączenia funkcji śledzenia sieci w aplikacji. Aby uzyskać więcej informacji, zobacz Śledzenie sieci w .NET Framework.

Dotyczy

Zobacz też