listen(2) | System Calls Manual | listen(2) |
listen - ascultă pentru conexiuni pe un soclu
Biblioteca C standard (libc, -lc)
#include <sys/socket.h>
int listen(int sockfd, int backlog);
listen() marchează soclul la care face referire sockfd ca fiind un soclu pasiv, adică un soclu care va fi utilizat pentru a accepta cereri de conexiune primite utilizând accept(2).
Argumentul sockfd este un descriptor de fișier care se referă la un soclu de tip SOCK_STREAM sau SOCK_SEQPACKET.
Argumentul backlog definește lungimea maximă până la care poate crește coada de conexiuni în așteptare pentru sockfd. În cazul în care o cerere de conexiune sosește când coada este plină, clientul poate primi o eroare cu indicația ECONNREFUSED sau, dacă protocolul de bază acceptă retransmiterea, cererea poate fi ignorată, astfel încât o nouă încercare ulterioară de conectare să reușească.
În caz de succes, se returnează zero. În caz de eroare, se returnează -1, iar errno este configurată pentru a indica eroarea.
POSIX.1-2001, POSIX.1-2008, 4.4BSD (listen() a apărut pentru prima dată în 4.2BSD).
Pentru a accepta conexiuni, se execută următorii pași:
Comportamentul argumentului backlog pe socket-urile TCP s-a schimbat odată cu Linux 2.2. Acum, acesta specifică lungimea cozii de așteptare pentru soclurile complet stabilite care așteaptă să fie acceptate, în loc de numărul de cereri de conexiune incomplete. Lungimea maximă a cozii de așteptare pentru socluri incomplete poate fi stabilită cu /proc/sys/net/ipv4/tcp_max_syn_backlog. Atunci când sunt activate „syncookies”, nu există o lungime maximă logică și această valoare este ignorată. Pentru mai multe informații, consultați tcp(7).
În cazul în care argumentul backlog este mai mare decât valoarea din /proc/sys/net/core/somaxconn, atunci acesta este limitat în mod silențios la această valoare. Începând cu Linux 5.4, valoarea implicită din acest fișier este 4096; în nucleele anterioare, valoarea implicită este 128. Înainte de Linux 2.4.25, această limită era o valoare codificată în mod rigid, SOMAXCONN, cu valoarea 128.
A se vedea bind(2).
accept(2), bind(2), connect(2), socket(2), socket(7)
Traducerea în limba română a acestui manual a fost creată de Remus-Gabriel Chelu <remusgabriel.chelu@disroot.org>
Această traducere este documentație gratuită; citiți Licența publică generală GNU Versiunea 3 sau o versiune ulterioară cu privire la condiții privind drepturile de autor. NU se asumă Nicio RESPONSABILITATE.
Dacă găsiți erori în traducerea acestui manual, vă rugăm să trimiteți un e-mail la translation-team-ro@lists.sourceforge.net.
4 decembrie 2022 | Pagini de manual de Linux 6.03 |