Provided by: manpages-de-dev_4.15.0-9_all bug

BEZEICHNUNG

       listen - auf einem Socket auf Verbindungen warten

ÜBERSICHT

       #include <sys/socket.h>

       int listen(int sockdd, int Rückstau);

BESCHREIBUNG

       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.

RÜCKGABEWERT

       Bei Erfolg wird Null zurückgegeben. Bei einem  Fehler  wird  -1  zurückgegeben  und  errno
       gesetzt, um den Fehler anzuzeigen.

FEHLER

       EADDRINUSE
              Ein anderes Socket wartet bereits auf dem gleichen Port auf Verbindungen.

       EADDRINUSE
              (Internet Domain Sockets) Das durch sockdd referenzierte Socket war bisher nicht an
              eine Adresse gebunden und beim Versuch, es an einen  kurzlebigen  Port  zu  binden,
              wurde  festgestellt,  dass  alle  Portnummern  in  dem  Portbereich  für kurzlebige
              Portnummern   derzeit   verwendet   werden.   Lesen   Sie   die   Erörterung    von
              /proc/sys/net/ipv4/ip_local_port_range in ip(7).

       EBADF  Das Argument sockdd ist kein zulässiger Dateideskriptor.

       ENOTSOCK
              Der Dateideskriptor sockdd zeigt nicht auf ein Socket.

       EOPNOTSUPP
              Der Typ des Sockets unterstützt die Operation listen() nicht.

KONFORM ZU

       POSIX.1-2001, POSIX.1-2008, 4.4BSD (listen() erschien erstmals in 4.2BSD.)

ANMERKUNGEN

       Um Verbindungen zu akzeptieren, werden die folgenden Schritte ausgeführt:

           1.  Es wird mittels socket(2) ein Socket erstellt.

           2.  Das  Socket  wird  mittels  bind(2)  mit  einer lokalen Adresse verknüpft, so dass
               andere Sockets mittels connect(2) damit verbunden werden können.

           3.  Mit listen() werden eine Bereitschaft ankommende Verbindungen anzunehmen und  eine
               Warteschlangenbeschränkung für eingehende Verbindungen angegeben.

           4.  Verbindungen werden mit accept(2) akzeptiert.

       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. In Kerneln vor
       2.4.25 war diese Beschränkung ein hart kodierter Wert SOMAXCONN von 128.

BEISPIELE

       Siehe bind(2).

SIEHE AUCH

       accept(2), bind(2), connect(2), socket(2), socket(7)

KOLOPHON

       Diese Seite  ist  Teil  der  Veröffentlichung  5.13  des  Projekts  Linux-man-pages.  Eine
       Beschreibung  des  Projekts,  Informationen,  wie  Fehler gemeldet werden können sowie die
       aktuelle Version dieser Seite finden sich unter https://www.kernel.org/doc/man-pages/.

ÜBERSETZUNG

       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 ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩ 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 ⟨debian-l10n-german@lists.debian.org⟩.