getpeername(2) System Calls Manual getpeername(2)

getpeername - obține numele soclului mașinii-pereche conectate

Biblioteca C standard (libc, -lc)

#include <sys/socket.h>
int getpeername(int sockfd, struct sockaddr *restrict adresa,
                socklen_t *restrict lungime-adresă);

getpeername() returnează adresa mașinii-pereche conectate la soclul sockfd, în memoria tampon indicată de adresa. Argumentul lungime-adresă ar trebui inițializat pentru a indica cantitatea de spațiu indicată de adresa. La returnare, acesta conține dimensiunea reală a numelui returnat (în octeți). Numele este trunchiat în cazul în care memoria tampon furnizată este prea mică.

Adresa returnată este trunchiată în cazul în care memoria tampon furnizată este prea mică; în acest caz, addrlen va returna o valoare mai mare decât cea furnizată la apel.

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

Argumentul sockfd nu este un descriptor de fișier valid.
Argumentul adresa indică o memorie care nu se află într-o parte validă a spațiului de adrese al procesului.
lungimea-adresei nu este validă (de exemplu, este negativă).
Resursele disponibile în sistem au fost insuficiente pentru a efectua operația.
Soclul nu este conectat.
Descriptorul de fișier sockfd nu se referă la un soclu.

POSIX.1-2008.

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

Pentru soclurile de flux, odată ce a fost efectuat un connect(2), fiecare soclu poate apela getpeername() pentru a obține adresa soclului mașinii-pereche. Pe de altă parte, soclurile de diagramă sunt fără conexiune. Apelarea connect(2) pe un soclu de diagramă nu face decât să stabilească adresa mașinii-pereche pentru diagramele de ieșire trimise cu write(2) sau recv(2). Cea care a apelat connect(2) poate utiliza getpeername() pentru a obține adresa mașinii-pereche pe care a stabilit-o anterior pentru soclu. Cu toate acestea, soclul mașinii-pereche nu are cunoștință de această informație, iar apelarea getpeername() pe soclul mașinii-pereche nu va returna nicio informație utilă (cu excepția cazului în care un apel connect(2) a fost, de asemenea, executat pe mașina-pereche). Rețineți, de asemenea, că destinatarul unei diagrame de date poate obține adresa expeditorului atunci când utilizează recvfrom(2).

accept(2), bind(2), getsockname(2), ip(7), socket(7), unix(7)

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.

2 mai 2024 Pagini de manual de Linux 6.8