listen(2) | System Calls Manual | listen(2) |
listen - auf einem Socket auf Verbindungen warten
Standard-C-Bibliothek (libc, -lc)
#include <sys/socket.h>
int listen(int sockdd, int Rückstau);
listen() markiert das Socket, das sockdd angibt, als ein passives Socket, das wie ein Socket benutzt wird, das eingehende Verbindungsanfragen unter Benutzung von accept(2) akzeptiert.
Das Argument sockdd ist ein Dateideskriptor, der sich auf ein Socket des Typs SOCK_STREAM oder SOCK_SEQPACKET bezieht.
Das Argument Rückstau spezifiziert die maximale Länge der Warteschlange für sockdd, die noch nicht angenommene Verbindungen aufnimmt. Wenn eine Verbindungsanfrage eintrifft und die Warteschlange bereits voll ist, dann erhält der Client einen Fehler mit der Angabe ECONNREFUSED oder die Anfrage wird ignoriert, wenn das zugrundeliegende Protokoll »erneutes Übertragen« unterstützt, damit weitere Verbindungsversuche erfolgreich sind.
Bei Erfolg wird Null zurückgegeben. Bei einem Fehler wird -1 zurückgegeben und errno gesetzt, um den Fehler anzuzeigen.
POSIX.1-2001, POSIX.1-2008, 4.4BSD (listen() erschien erstmals in 4.2BSD.)
Um Verbindungen zu akzeptieren, werden die folgenden Schritte ausgeführt:
Das Verhalten des Arguments Rückstau auf TCP-Sockets änderte sich mit Linux 2.2. Nun gibt es die Länge der Warteschlange für komplett etablierte Sockets an, die darauf warten akzeptiert zu werden, anstatt der Anzahl der unvollständigen Verbindungsanfragen. Die maximale Länge der Warteschlange für unvollständige Sockets kann in /proc/sys/net/ipv4/tcp_max_syn_backlog gesetzt werden. Wenn dort SYN-Cookies eingeschaltet sind, gibt es keine maximale Länge und diese Einstellung wird ignoriert. Lesen Sie tcp(7), um weitere Informationen zu erhalten.
Falls das Argument Rückstau größer als der Wert in /proc/sys/net/core/somaxconn ist, dann wird es stillschweigend auf diesen Wert nach oben begrenzt. Seit Linux 5.4 ist der Standardwert in dieser Datei 4096; in älteren Kerneln ist der Wert 128. Vor Linux 2.4.25 war diese Beschränkung ein hart kodierter Wert SOMAXCONN von 128.
Siehe bind(2).
accept(2), bind(2), connect(2), socket(2), socket(7)
Die deutsche Übersetzung dieser Handbuchseite wurde von Martin Schulze <joey@infodrom.org> und Chris Leick <c.leick@vollbio.de> erstellt.
Diese Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 oder neuer bezüglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen.
Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an die Mailingliste der Übersetzer.
4. Dezember 2022 | Linux man-pages 6.03 |