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>.