Provided by: manpages-de-dev_0.10-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 gültiger 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

       Diese  Seite  ist  Teil  der   Veröffentlichung   3.32   des   Projekts
       Linux-man-pages.  Eine Beschreibung des Projekts und Informationen, wie
       Fehler    gemeldet     werden     können,     finden     sich     unter
       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>.