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
       ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩ 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 ⟨⟩.