Socket.Accept Methode

Definition

Erstellt einen neuen Socket für eine neu erstellte Verbindung.Creates a new Socket for a newly created connection.

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

Gibt zurück

Ein Socket für eine neu erstellte Verbindung.A Socket for a newly created connection.

Ausnahmen

Fehler beim Versuch, auf den Socket zuzugreifen.An error occurred when attempting to access the socket.

Der Socket wurde geschlossen.The Socket has been closed.

Der annehmende Socket überwacht keine Verbindungen.The accepting socket is not listening for connections. Vor dem Aufruf von Bind(EndPoint) müssen Sie Listen(Int32) und Accept() aufrufen.You must call Bind(EndPoint) and Listen(Int32) before calling Accept().

Beispiele

Im folgenden Codebeispiel wird eine einfache Socket Verbindung akzeptiert.The following code example accepts a simple Socket connection.

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

Hinweise

Accept die erste ausstehende Verbindungsanforderung synchron aus der Verbindungs Anforderungs Warteschlange des überwachungssysockets extrahiert und dann eine neue Socketerstellt und zurückgegeben.Accept synchronously extracts the first pending connection request from the connection request queue of the listening socket, and then creates and returns a new Socket. Sie können dieses zurückgegebene Socket nicht verwenden, um zusätzliche Verbindungen aus der Verbindungs Warteschlange zu akzeptieren.You cannot use this returned Socket to accept any additional connections from the connection queue. Sie können jedoch die RemoteEndPoint-Methode der zurückgegebenen Socket abrufen, um die Netzwerkadresse und die Portnummer des Remote Hosts zu identifizieren.However, you can call the RemoteEndPoint method of the returned Socket to identify the remote host's network address and port number.

Im Blockierungs Modus wird Accept blockiert, bis ein eingehender Verbindungsversuch in die Warteschlange eingereiht wird.In blocking mode, Accept blocks until an incoming connection attempt is queued. Nachdem eine Verbindung akzeptiert wurde, werden die eingehenden Verbindungsanforderungen vom ursprünglichen Socket in die Warteschlange eingereiht, bis Sie Sie schließen.Once a connection is accepted, the original Socket continues queuing incoming connection requests until you close it.

Wenn Sie diese Methode mit einer nicht blockierenden Socketaufzurufen und keine Verbindungsanforderungen in die Warteschlange eingereiht werden, löst Accept eine SocketExceptionaus.If you call this method using a non-blocking Socket, and no connection requests are queued, Accept throws a SocketException. Wenn Sie erhalten eine SocketException, verwenden die SocketException.ErrorCode Eigenschaft, um den spezifischen Fehlercode zu erhalten.If you receive a SocketException, use the SocketException.ErrorCode property to obtain the specific error code. Nachdem Sie diesen Code abgerufen haben, finden Sie in der API-Fehlercode Dokumentation der Windows Sockets, Version 2 , eine ausführliche Beschreibung des Fehlers.After you have obtained this code, refer to the Windows Sockets version 2 API error code documentation for a detailed description of the error.

Hinweis

Bevor Sie die Accept-Methode aufrufen, müssen Sie zuerst die Listen-Methode aufrufen, um eingehende Verbindungsanforderungen abzuhören und in die Warteschlange zuBefore calling the Accept method, you must first call the Listen method to listen for and queue incoming connection requests.

Hinweis

Dieser Member gibt Ablaufverfolgungsinformationen aus, wenn Sie die Netzwerkablaufverfolgung in der Anwendung aktivieren.This member outputs trace information when you enable network tracing in your application. Weitere Informationen finden Sie unter Netzwerk Ablauf Verfolgung in der .NET Framework.For more information, see Network Tracing in the .NET Framework.

Gilt für:

Siehe auch