Provided by: manpages-cs-dev_4.27.0-1_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

       V případě úspěchu je vrácena 0. V případě chyby je vrácena 1 a errno je nastaven aby indikoval chybu.

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  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 man-pages 6.9.1                            2. května 2024                                        listen(2)