Provided by: manpages-de-dev_4.27.0-1_all bug

BEZEICHNUNG

       listen - auf einem Socket auf Verbindungen warten

BIBLIOTHEK

       Standard-C-Bibliothek (libc, -lc)

Ü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.

STANDARDS

       POSIX.1-2008.

GESCHICHTE

       POSIX.1-2001, 4.4BSD (erschien zuerst 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. Vor Linux 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)

Ü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 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.

Linux man-pages 6.9.1                              2. Mai 2024                                         listen(2)