Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

getpeername() - Remote-Adresse der Sockets-Verbindung abfragen

&pagelevel(4)&pagelevel



#include <sys.socket.h>

#include <netinet.in.h> /* nur bei AF_INET und AF_INET6 */
#include <iso.h>        /* nur bei AF_ISO */
 
Kernighan-Ritchie-C:
int getpeername(s, name, namelen);

int s;
int *namelen;

struct sockaddr_in *name;  /* nur bei AF_INET  */
struct sockaddr_in6 *name; /* nur bei AF_INET6 */
struct sockaddr_iso *name; /* nur bei AF_ISO   */

ANSI-C:
int getpeername(int s, struct sockaddr* name, int* namelen);


Beschreibung

Die Funktion getpeername() liefert im Parameter name den Namen des Kommunikationspartners, der mit dem Socket s verbunden ist.

name zeigt auf einen Speicherbereich. *name enthält nach erfolgreicher Ausführung von getpeername() den Namen (die Adresse) des Kommunikationspartners.
Die Integer-Variable, auf die der Parameter namelen zeigt, muss vor Aufruf von getpeername() mit der maximal möglichen Adresslänge (angegeben in Bytes) versorgt werden. Bei Rückkehr der Funktion enthält *namelen die aktuelle Größe (in Bytes) des zurückgelieferten Namens.

Returnwert

0:

bei Erfolg

-1:

bei Fehler. errno wird gesetzt, um den Fehler anzuzeigen.

Fehleranzeige durch errno

EBADF

Der Parameter s ist kein gültiger Deskriptor.

EFAULT

Die Länge des Bereichs für die Aufnahme der Adresse ist zu klein.

ENOBUFS

Es gibt nicht genug Speicherplatz im Puffer.

ENOTCONN

Der Socket hat keine Verbindung.

EOPNOTSUPP

Der Socket s ist nicht vom Typ SOCK_STREAM. Die Operation wird für den Socket-Typ von s nicht unterstützt.

Siehe auch

accept(), bind(), getsockname(), socket()