Provided by: manpages-cs-dev_4.13-4_all bug

JMÉNO

       listen - čekej na spojení na soketu

POUŽITÍ

       #include <sys/types.h>          /* Viz POZNÁMKY */
       #include <sys/socket.h>

       int listen(int sockfd, int backlog);

POPIS

       Funkce  listen()  označí  soket  specifikovaný  parametrem sockfd jako pasivní, to znamená, že soket bude
       použit pro přijetí požadavků příchozích spojení pomocí funkce accept(2).

       Parametr sockfd je file deskriptor, který popisuje soket, který je typu SOCK_STREAM nebo SOCK_SEQPACKET.

       Parametr  backlog  specifikuje  maximální  délku,  do  které  fronta  čekajících  požadavků  na   spojení
       prostřednictvím  sockfd  může dorůst. Je-li fronta zaplněna, obdrží klient zprávu ECONNREFUSED nebo pokud
       to nižší vrstva podporuje znovuzaslání, požadavek může být ignorován a pozdější pokus o spojení uspěje.

NÁVRATOVÉ HODNOTY

       Je-li volání úspěšné, vrací se 0, jinak -1 a je nastavena proměnná errno.

CHYBOVÉ STAVY

       EADDRINUSE
              Jiný soket už naslouchá na daném portu.

       EADDRINUSE
              (Internet domain sockets)  The socket referred to by sockfd had not previously been  bound  to  an
              address  and,  upon  attempting  to  bind it to an ephemeral port, it was determined that all port
              numbers  in  the  ephemeral  port  range  are  currently   in   use.   See   the   discussion   of
              /proc/sys/net/ipv4/ip_local_port_range in ip(7).

       EBADF  Argument sockfd není platným deskriptorem.

       ENOTSOCK
              The file descriptor sockfd does not refer to a socket.

       EOPNOTSUPP
              Typ soketu není podporován voláním listen.

SPLŇUJE STANDARDY

       POSIX.1-2001, POSIX.1-2008, 4.4BSD. listen() se poprvé objevilo v 4.2BSD.

POZNÁMKY

       K přijetí spojení jsou provedeny tyto kroky:

           1.  Je vytvořen soket pomocí socket(2).

           2.  Soket  je  navázán na lokální adresu pomocí bind(2), takže další sokety na něj mohou být napojeny
               pomocí connect(2).

           3.  Ochota k přijetí příchozího spojení a limit pro délku fronty jsou specifikovány pomocí listen().

           4.  Spojení je přijato pomocí accept(2).

       POSIX.1 nevyžaduje vložení <sys/types.h> a proto není tento hlavičkový soubor v Linuxu vyžadován. Nicméně
       některé starší (BSD) implementace  jej  vyžadují  a  v  přenositelných  aplikacích  by  také  bylo  tento
       hlavičkový soubor zachovat.

       The  behavior  of  the backlog argument on TCP sockets changed with Linux 2.2. Now it specifies the queue
       length for completely established sockets waiting to be accepted, instead of  the  number  of  incomplete
       connection  requests.  The  maximum  length  of  the  queue  for  incomplete  sockets  can  be  set using
       /proc/sys/net/ipv4/tcp_max_syn_backlog. When syncookies are enabled there is no  logical  maximum  length
       and this setting is ignored. See tcp(7)  for more information.

       If  the  backlog  argument is greater than the value in /proc/sys/net/core/somaxconn, then it is silently
       truncated to that value. Since Linux 5.4, the default in this file  is  4096;  in  earlier  kernels,  the
       default  value  is  128. In kernels before 2.4.25, this limit was a hard coded value, SOMAXCONN, with the
       value 128.

PŘÍKLADY

       Viz bind(2).

DALŠÍ INFORMACE

       accept(2), bind(2), connect(2), socket(2), socket(7)

TIRÁŽ

       Tato stránka je součástí projektu Linux man-pages v5.10.  Popis  projektu  a  informace  o  hlášení  chyb
       najdete na https://www.kernel.org/doc/man-pages/.

P◈EKLAD

       Překlad této příručky do španělštiny vytvořili Pavel Heimlich <tropikhajma@gmail.com>

       Tento  překlad  je  bezplatná  dokumentace; Přečtěte si GNU General Public License Version 3 nebo novější
       ohledně podmínek autorských práv. Neexistuje ŽÁDNÁ ODPOVĚDNOST.

       Pokud narazíte na nějaké chyby v překladu této  příručky,  pošlete  e-mail  na  adresu  translation-team-
       cs@lists.sourceforge.net.

Linux                                            9. června 2020                                        LISTEN(2)