listen

LISTEN(2)                  Linux-Programmierhandbuch                 LISTEN(2)



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



Linux                         15. September 2017                     LISTEN(2)