Provided by: manpages-ro-dev_4.27.0-1_all bug

NUME

       listen - ascultă pentru conexiuni pe un soclu

BIBLIOTECA

       Biblioteca C standard (libc, -lc)

SINOPSIS

       #include <sys/socket.h>

       int listen(int sockfd, int backlog);

DESCRIERE

       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ă.

VALOAREA RETURNATĂ

       În  caz  de  succes,  se  returnează zero. În caz de eroare, se returnează -1, iar errno este configurată
       pentru a indica eroarea.

ERORI-IEȘIRE

       EADDRINUSE
              Un alt soclu este deja ascultat pe același port.

       EADDRINUSE
              (Soclurile din domeniul de Internet) Soclul la care se face referire prin sockfd nu a fost asociat
              anterior unei adrese și, la încercarea de a-l asocia la un port  efemer,  s-a  stabilit  că  toate
              numerele  de port din intervalul de porturi efemere sunt utilizate în prezent. A se vedea discuția
              despre /proc/sys/net/ipv4/ip_local_port_range în ip(7).

       EBADF  Argumentul sockfd nu este un descriptor de fișier valid.

       ENOTSOCK
              Descriptorul de fișier sockfd nu se referă la un soclu.

       EOPNOTSUPP
              Soclul nu este de un tip care să accepte operația listen().

STANDARDE

       POSIX.1-2008.

ISTORIC

       POSIX.1-2001, 4.4BSD (a apărut pentru prima dată în 4.2BSD).

NOTE

       Pentru a accepta conexiuni, se execută următorii pași:

           (1)  Un soclu este creat cu socket(2).

           (2)  Soclul este legat la o adresă locală folosind bind(2), astfel încât alte  socluri  să  poată  fi
                conectate la el prin connect(2).

           (3)  Cu  listen() se specifică disponibilitatea de a accepta conexiuni primite și o limită a cozii de
                așteptare pentru conexiunile primite.

           (4)  Conexiunile sunt acceptate cu accept(2).

       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.

EXEMPLE

       A se vedea bind(2).

CONSULTAȚI ȘI

       accept(2), bind(2), connect(2), socket(2), socket(7)

TRADUCERE

       Traducerea   în   limba   română   a   acestui   manual   a   fost   făcută   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.

Pagini de manual de Linux 6.9.1                    2 mai 2024                                          listen(2)