Freigeben über


CAsyncSocket::Listen

Rufen Sie die Memberfunktion auf, um auf eingehende Aufforderungen zum Aufbau einer Verbindung zu überwachen.

BOOL Listen(
   int nConnectionBacklog = 5 
);

Parameter

  • nConnectionBacklog
    Die maximale Länge, auf die die Warteschlange der ausstehenden Verbindungen wachsen kann.Gültiger Bereich ist von 1 bis 5.

Rückgabewert

Ungleich 0 (null), wenn die Funktion erfolgreich; andernfalls 0 und ein bestimmter Fehlercode können abgerufen werden, indem Sie GetLastError aufruft.Die folgenden Fehler gelten für diese Memberfunktion zu:

  • Vor der Verwendung dieser APIs WSANOTINITIALISED einem erfolgreichen AfxSocketInit muss auftreten.

  • WSAENETDOWN, das die Windows Socket-Implementierung hat, dass das Netzwerksubsystem fehlgeschlagen ist.

  • WSAEADDRINUSE versucht ist vorgenommen, um auf einer gebräuchlichen Adresse überwacht.

  • Ist blockierenden Windows Socket-Vorgang WSAEINPROGRESS A ausgeführt.

  • WSAEINVAL der Socket ist nicht mit Bind gebunden oder wird bereits verbunden.

  • WSAEISCONN der Socket ist bereits verbunden.

  • WSAEMFILE nicht mehr Dateideskriptoren sind verfügbar.

  • WSAENOBUFS kein Pufferplatz ist verfügbar.

  • WSAENOTSOCK der Deskriptor ist kein Socket.

  • WSAEOPNOTSUPP der referenzierte Socket ist nicht von einem Typ, der den Listen Operation unterstützt.

Hinweise

Um Links zu übernehmen, wird der Socket zunächst mit Create erstellt, wird ein Rückstand für eingehende Verbindungen mit Listen angegeben, und anschließend werden die Verbindungen mit Annehmen akzeptiert.Listen gilt nur für Sockets zu, die Verbindungen h. die des Typs SOCK_STREAM unterstützen.Dieser Socket wird in "passiven Modus" platziert, in dem eingehende Verbindungen während Akzeptanz durch den Prozess bestätigt und in die Warteschlange gestellt werden.

Diese Funktion wird in der Regel durch Server verwendet (oder eine Anwendung, die Verbindungen akzeptiert möchte), die mehr als eine Aufforderung zum Aufbau einer Verbindung besitzen könnten: Wenn eine Aufforderung zum Aufbau einer Verbindung mit der vollständigen Warteschlange eintrifft, empfängt der Client ein Fehler mit einem Hinweis WSAECONNREFUSED.

Listen versucht, weiterhin rational funktioniert, wenn keine verfügbaren Ports (Deskriptoren) gibt.Es akzeptiert Verbindungen, bis die Warteschlange geschrieben ist.Wenn Ports verfügbar werden, füllt ein späterer Aufruf von Listen oder zu Annehmen die Warteschlange zum aktuellen oder zum am neuen 'Residue,' erneut, wenn möglich, und die Zusammenfassung, die auf eingehende Verbindungen lauscht.

Anforderungen

Header: afxsock.h

Siehe auch

Referenz

CAsyncSocket-Klasse

Hierarchien-Diagramm

CAsyncSocket::Accept

CAsyncSocket::Connect

CAsyncSocket::Create