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 |
---|---|
Fehler beim Zugriff auf den Socket. Weitere Informationen finden Sie im Abschnitt Hinweise. |
|
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