Provided by: manpages-de-dev_0.10-1_all bug

BEZEICHNUNG

       listen - auf einem Socket auf Verbindungen warten

"UBERSICHT

       #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 Lange der  Warteschlange
       fur sockfd, die noch nicht angenommene Verbindungen aufnimmt. Wenn eine
       Verbindungsanfrage eintrifft und die Warteschlange  bereits  voll  ist,
       dann  erhalt  der  Client einen Fehler mit der Angabe ECONNREFUSED oder
       die  Anfrage  wird  ignoriert,  wenn  das  zugrundeliegende   Protokoll
       >>erneutes  Ubertragen<< unterstutzt, damit weitere Verbindungsversuche
       erfolgreich sind.

R"UCKGABEWERT

       Bei  Erfolg  wird  Null  zuruckgegeben.  Bei  einem  Fehler   wird   -1
       zuruckgegeben und errno entsprechend gesetzt.

FEHLER

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

       EBADF  Das Argument sockfd ist kein gultiger Deskriptor.

       ENOTSOCK
              Das Argument sockfd ist kein Socket.

       EOPNOTSUPP
              Der Typ des Sockets unterstutzt 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
       ausgefuhrt:

           1.  Es wird mittels socket(2) ein Socket erstellt.

           2.  Das Socket wird  mittels  bind(2)  mit  einer  lokalen  Adresse
               verknupft,  so  dass  andere  Sockets  mittels connect(2) damit
               verbunden werden konnen.

           3.  Mit listen() werden eine Bereitschaft  ankommende  Verbindungen
               anzunehmen  und  eine Warteschlangenbeschrankung fur 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
       benotigen   einige   historische    Implementierungen    (BSD)    diese
       Header-Datei.  Es  wird  empfohlen,  sie  fur  portierbare  Anwendungen
       einzubinden.

       Das Verhalten des Arguments backlog auf TCP-Sockets  anderte  sich  mit
       Linux  2.2.  Nun  gibt  es  die  Lange  der  Warteschlange fur komplett
       etablierte Sockets an, die darauf warten akzeptiert zu werden,  anstatt
       der  Anzahl der unvollstandigen Verbindungsanfragen. Die maximale Lange
       der    Warteschlange    fur    unvollstandige    Sockets    kann     in
       /proc/sys/net/ipv4/tcp_max_syn_backlog   gesetzt   werden.   Wenn  dort
       SYN-Cookies eingeschaltet sind, gibt es keine maximale Lange und  diese
       Einstellung  wird ignoriert. Lesen Sie tcp(7), um weitere Informationen
       zu erhalten.

       Falls  das   Argument   backlog   groBer   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  Beschrankung  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   Veroffentlichung   3.32   des   Projekts
       Linux-man-pages.  Eine Beschreibung des Projekts und Informationen, wie
       Fehler    gemeldet     werden     konnen,     finden     sich     unter
       http://www.kernel.org/doc/man-pages/.

"UBERSETZUNG

       Die  deutsche Ubersetzung dieser Handbuchseite wurde von Martin Schulze
       <joey@infodrom.org> und Chris Leick <c.leick@vollbio.de> erstellt.

       Diese Ubersetzung ist Freie Dokumentation; lesen Sie  die  GNU  General
       Public   License   Version   3  oder  neuer  bezuglich  der  Copyright-
       Bedingungen. Es wird KEINE HAFTUNG ubernommen.

       Wenn  Sie  Fehler  in  der  Ubersetzung  dieser  Handbuchseite  finden,
       schicken     Sie     bitte     eine     E-Mail     an     <debian-l10n-
       german@lists.debian.org>.