Scroll to navigation

getpeername(2) System Calls Manual getpeername(2)

NUME

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

BIBLIOTECA

Biblioteca C standard (libc, -lc)

REZUMAT

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

DESCRIERE

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.

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

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.

STANDARDE

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

NOTE

Pentru informații despre tipul socklen_t, a se vedea accept(2).

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

CONSULTAȚI ȘI

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

TRADUCERE

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.

30 octombrie 2022 Pagini de manual de Linux 6.03