Provided by: manpages-cs-dev_4.24.0-2_all bug

JMÉNO

       listen - čekej na spojení na soketu

KNIHOVNA

       Standardní knihovna C (libc, -lc)

POUŽITÍ

       #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

       On success, zero is returned. On error, -1 is returned, and errno is set to  indicate  the
       error.

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.

STANDARDY

       POSIX.1-2008.

HISTORIE

       POSIX.1-2001, 4.4BSD (first appeared in 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).

       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 capped to that value. Since Linux 5.4, the default in this file  is  4096;  in
       earlier  kernels,  the  default  value  is 128. Before Linux 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)

PŘEKLAD

       Překlad této příručky do češ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⟩.