Provided by: manpages-de-dev_1.4-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.

       EBADF  Das Argument sockfd ist kein zulässiger Deskriptor.

       ENOTSOCK
              Das Argument sockfd ist kein Socket.

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

KONFORM ZU

       4.4BSD, POSIX.1-2001. Der Funktionsaufruf 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-2001 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

       This page is part of release 3.54 of the Linux man-pages project.  A  description  of  the  project,  and
       information about reporting bugs, can be found at http://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>.

Linux                                           20. November 2008                                      LISTEN(2)