Provided by: manpages-de-dev_4.21.0-2_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-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. 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
       ⟨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⟩.