Freigeben über


Socket.Listen-Methode

Versetzt einen Socket in den Überwachungszustand.

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

Syntax

'Declaration
Public Sub Listen ( _
    backlog As Integer _
)
'Usage
Dim instance As Socket
Dim backlog As Integer

instance.Listen(backlog)
public void Listen (
    int backlog
)
public:
void Listen (
    int backlog
)
public void Listen (
    int backlog
)
public function Listen (
    backlog : int
)

Parameter

  • backlog
    Die maximale Länge der Warteschlange für anstehende Verbindungen.

Ausnahmen

Ausnahmetyp Bedingung

SocketException

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

ObjectDisposedException

Der Socket wurde geschlossen.

Hinweise

Listen bewirkt, dass ein verbindungsorientierter Socket eingehende Verbindungsversuche überwacht. Der backlog-Parameter gibt die Anzahl der eingehenden Verbindungen an, die bis zur Annahme in der Warteschlange gespeichert werden können. Rufen Sie den MaxConnections-Wert ab, um zu bestimmen, wie viele Verbindungen Sie maximal angeben können. Listen wird nicht blockiert.

Wenn Sie eine SocketException erhalten, können Sie mit der 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. Verwenden Sie Accept oder BeginAccept, um eine Verbindung aus der Warteschlange anzunehmen.

Hinweis

Zuerst muss die Bind-Methode aufgerufen werden, bevor Listen aufgerufen wird. Andernfalls löst Listen eine SocketException aus.

Hinweis

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

Hinweis

Der backlog-Parameter für den Rückstand ist je nach Betriebssystem auf unterschiedliche Werte eingeschränkt. Sie können einen höheren Wert angeben, doch der Rückstand ist je nach Betriebssystem eingeschränkt.

Beispiel

Im folgenden Codebeispiel überwacht Socket eingehende Verbindungen.

   ' create the socket
   Dim listenSocket As New Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp)
   
   ' bind the listening socket to the port
   Dim hostIP As IPAddress = Dns.Resolve(IPAddress.Any.ToString()).AddressList(0)
   Dim ep As New IPEndPoint(hostIP, port)
   listenSocket.Bind(ep)
   
   ' start listening
   listenSocket.Listen(backlog)
End Sub 'CreateAndListen
    // create the socket
    Socket listenSocket = new Socket(AddressFamily.InterNetwork, 
                                     SocketType.Stream,
                                     ProtocolType.Tcp);

    // bind the listening socket to the port
IPAddress hostIP = (Dns.Resolve(IPAddress.Any.ToString())).AddressList[0];
    IPEndPoint ep = new IPEndPoint(hostIP, port);
    listenSocket.Bind(ep); 

    // start listening
    listenSocket.Listen(backlog);
// create the socket
Socket^ listenSocket = gcnew Socket( AddressFamily::InterNetwork,
   SocketType::Stream,
   ProtocolType::Tcp );

// bind the listening socket to the port
IPAddress^ hostIP = ( Dns::Resolve( IPAddress::Any->ToString() ) )->AddressList[ 0 ];
IPEndPoint^ ep = gcnew IPEndPoint( hostIP,port );
listenSocket->Bind( ep );

// start listening
listenSocket->Listen( backlog );

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
MaxConnections
Accept
Bind