focal (2) listen.2.gz

Provided by: manpages-de-dev_2.16-1_all bug

BEZEICHNUNG

       listen - auf einem Socket auf Verbindungen warten

ÜBERSICHT

       #include <sys/types.h>          /* Siehe ANMERKUNGEN */
       #include <sys/socket.h>

       int listen(int sockfd, int backlog);

BESCHREIBUNG

       listen()  markiert  das  Socket,  das  sockfd angibt, als ein passives Socket, das wie ein Socket benutzt
       wird, das eingehende Verbindungsanfragen unter Benutzung von accept(2) akzeptiert.

       Das Argument sockfd ist  ein  Dateideskriptor,  der  sich  auf  ein  Socket  des  Typs  SOCK_STREAM  oder
       SOCK_SEQPACKET bezieht.

       Das  Argument  backlog  spezifiziert  die  maximale  Länge  der  Warteschlange für sockfd, 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 entsprechend
       gesetzt.

FEHLER

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

       EADDRINUSE
              (Internet Domain Sockets) Das durch sockfd 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 sockfd ist kein zulässiger Dateideskriptor.

       ENOTSOCK
              Der Dateideskriptor sockfd 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.

       POSIX.1  erfordert  nicht,  dass  <sys/types.h>  eingebunden  wird. Diese Header-Datei ist in Linux nicht
       erforderlich. Allerdings benötigen einige historische Implementierungen (BSD) diese Header-Datei. Es wird
       empfohlen, sie für portierbare Anwendungen einzubinden.

       Das Verhalten des Arguments backlog 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 backlog größer ist,  als  der  Wert  in  /proc/sys/net/core/somaxconn,  dann  wird  es
       stillschweigend auf diesen Wert heruntergesetzt; der Standardwert in dieser Datei ist 128. In Kerneln vor
       2.4.25 war diese Beschränkung ein hart kodierter Wert SOMAXCONN von 128.

BEISPIEL

       Siehe bind(2).

SIEHE AUCH

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

KOLOPHON

       Diese Seite ist Teil der Veröffentlichung  5.03  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 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
       <debian-l10n-german@lists.debian.org>.