Freigeben über


Socket.Accept-Methode

Erstellt einen neuen Socket für eine neu erstellte Verbindung.

Namespace: System.Net.Sockets
Assembly: System (in system.dll)

Syntax

'Declaration
Public Function Accept As Socket
'Usage
Dim instance As Socket
Dim returnValue As Socket

returnValue = instance.Accept
public Socket Accept ()
public:
Socket^ Accept ()
public Socket Accept ()
public function Accept () : Socket

Rückgabewert

Ein Socket für eine neu erstellte Verbindung.

Ausnahmen

Ausnahmetyp Bedingung

SocketException

Fehler beim Zugriff auf den Socket. Weitere Informationen finden Sie im Abschnitt Hinweise.

ObjectDisposedException

Der Socket wurde geschlossen.

InvalidOperationException

Der annehmende Socket überwacht keine Verbindungen. Vor dem Aufruf von Accept müssen Sie Bind und Listen aufrufen.

Hinweise

Accept extrahiert die erste ausstehende Verbindungsanforderung auf synchrone Weise aus der Verbindungsanforderungswarteschlange des überwachenden Sockets. Dann wird ein neuer Socket erstellt und zurückgegeben. Mit diesem zurückgegebenen Socket können keine weiteren Verbindungen aus der Verbindungswarteschlange angenommen werden. Sie können jedoch die RemoteEndPoint-Methode des zurückgegebenen Socket zum Identifizieren der Netzwerkadresse und der Anschlussnummer des Remotehosts aufrufen.

Im blockierenden Modus wird Accept blockiert, bis eine eingehende Verbindung in die Warteschlange aufgenommen wird. Sobald eine Verbindung angenommen wird, nimmt der ursprüngliche Socket eingehende Verbindungsanforderungen weiterhin in die Warteschlange auf, bis Sie ihn schließen.

Wenn Sie diese Methode mit einem nicht blockierenden Socket aufrufen und sich keine Verbindungsanforderungen in der Warteschlange befinden, löst Accept eine SocketException aus. Wenn Sie eine SocketException erhalten, können Sie mit der SocketException.ErrorCode-Eigenschaft den spezifischen Fehlercode abrufen. Nachdem Sie diesen Code abgerufen haben, finden Sie in der Dokumentation der MSDN Library zu API-Fehlercodes unter Windows Sockets, Version 2, eine ausführliche Beschreibung des Fehlers.

Hinweis

Vor dem Aufruf der Accept- Methode müssen Sie zunächst die Listen-Methode aufrufen, um eingehende Verbindungsanforderungen zu überwachen und in die Warteschlange zu stellen.

Hinweis

Dieser Member gibt Ablaufverfolgungsinformationen aus, wenn Sie die Netzwerkablaufverfolgung in der Anwendung aktivieren. Weitere Informationen finden Sie unter Netzwerkablaufverfolgung.

Beispiel

Im folgenden Codebeispiel wird eine einfache Socket-Verbindung angenommen.

   Protected Sub AcceptMethod(listeningSocket As Socket)
       

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

Plattformen

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile für Pocket PC, Windows Mobile für Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.

Versionsinformationen

.NET Framework

Unterstützt in: 2.0, 1.1, 1.0

.NET Compact Framework

Unterstützt in: 2.0, 1.0

Siehe auch

Referenz

Socket-Klasse
Socket-Member
System.Net.Sockets-Namespace
Listen
RemoteEndPoint
Socket.BeginAccept