Provided by: manpages-cs-dev_4.27.0-1_all 

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)