PPL7-Icon Patrick's Programming Library Version 7.0.0 - Dokumentation
ppl7::SockAddr Klassenreferenz

Klasse zum Speichern eine Socket-Adresse. Mehr ...

Öffentliche Methoden

 SockAddr ()
 Konstruktor der Klasse. Mehr ...
 
 SockAddr (const SockAddr &other)
 Copy-Konstruktor. Mehr ...
 
 SockAddr (const void *addr, size_t addrlen)
 Kopieren aus einer sockaddr-Structure. Mehr ...
 
 SockAddr (const IPAddress &addr, int port)
 Kopieren aus IPAddress und Port. Mehr ...
 
 ~SockAddr ()
 
void * addr () const
 Adresse der Socket-Struktur auslesen. Mehr ...
 
SockAddroperator= (const SockAddr &other)
 Inhalt einer anderen Variablen zuweisen. Mehr ...
 
int port () const
 Port auslesen. Mehr ...
 
void setAddr (const void *addr, size_t addrlen)
 Kopieren aus einer sockaddr-Structure. Mehr ...
 
void setAddr (const IPAddress &ip, int port)
 
void setAddr (const IPAddress &ip)
 Setzt den Inhalt der Socket.Struktur anhand eines Strings mkit einer IP-Adresse. Mehr ...
 
void setPort (int port)
 Port setzen. Mehr ...
 
size_t size () const
 Länge der Socket-Struktur auslesen. Mehr ...
 
IPAddress toIPAddress () const
 

Private Attribute

size_t addrlen
 Länge der Socket-Struktur in Bytes. Mehr ...
 
void * saddr
 Pointer auf den Speicherbereich mit der Socket-Struktur Mehr ...
 

Ausführliche Beschreibung

Include:
#include <ppl7-inet.h>
Beschreibung:
Diese Klasse kann zum Speichern eine Socket-Adresse verwendet werden und unterstützt sowohl IPv4 als auch IPv6. Die Adresse wird dabei in einem Format gespeichert, wie es auch von den Socket-Funktionen des Betriebssystems verstanden wird.
Beispiel: Verwendung in der Socket-Funktion "connect"
ppl7::SockAddr addr=ppl7::SockAddr::fromString("127.0.0.1")
struct sockaddr_in* in_addr=(struct sockaddr_in*)addr.addr();
in_addr->sin_port=7;
connect(sockfd,(struct sockaddr *)in_addr, in_addr->sin_len);

Beschreibung der Konstruktoren und Destruktoren

ppl7::SockAddr::SockAddr ( )
Beschreibung:
Konstruktor der Klasse
ppl7::SockAddr::SockAddr ( const SockAddr other)
Beschreibung:
Copy-Konstruktor
Parameter
otherAnderes SockAddr-Objekt, von dem Kopiert werden soll
ppl7::SockAddr::SockAddr ( const void *  addr,
size_t  addrlen 
)
Beschreibung:
Kopiert die Adresse aus einer sockaddr-Struktur
Parameter
addrMuss ein Pointer auf eine struct sockaddr, sockaddr_in oder sockaddr_in6 sein
addrlenLänge der Struktur
ppl7::SockAddr::SockAddr ( const IPAddress addr,
int  port 
)
Beschreibung:
Kopiert die Adresse aus einer sockaddr-Struktur
Parameter
addrMuss ein Pointer auf eine struct sockaddr, sockaddr_in oder sockaddr_in6 sein
addrlenLänge der Struktur
ppl7::SockAddr::~SockAddr ( )

Dokumentation der Elementfunktionen

void * ppl7::SockAddr::addr ( ) const
Beschreibung:
Adresse der Socket-Struktur auslesen
Rückgabe
Pointer auf eine Socket-Struktur
SockAddr & ppl7::SockAddr::operator= ( const SockAddr other)
Beschreibung:
Inhalt einer anderen Variablen zuweisen
Parameter
other
Rückgabe
int ppl7::SockAddr::port ( ) const
Beschreibung:
Gibt die in der Socket-Struktur gesetzte Portnummer zurück.
Rückgabe
Portnummer
void ppl7::SockAddr::setAddr ( const void *  addr,
size_t  addrlen 
)
Beschreibung:
Kopiert die Adresse aus einer sockaddr-Struktur
Parameter
addrMuss ein Pointer auf eine struct sockaddr, sockaddr_in oder sockaddr_in6 sein
addrlenLänge der Struktur
void ppl7::SockAddr::setAddr ( const IPAddress ip,
int  port 
)
void ppl7::SockAddr::setAddr ( const IPAddress ip)
Beschreibung:
Wandelt einen String mit einer IPv4- oder IPv6-Adresse in eine Socket-Struktur um.
Parameter
ipString mit der IP-Adresse
Rückgabe
Gibt ein neues SockAddr-Objekt zurück
void ppl7::SockAddr::setPort ( int  port)
Beschreibung:
Setzt die Portnummer in der Socket-Struktur
Parameter
portPortnummer
size_t ppl7::SockAddr::size ( ) const
Beschreibung:
Länge der Socket-Struktur auslesen
Rückgabe
Länge der Socket-Struktur in Byte
IPAddress ppl7::SockAddr::toIPAddress ( ) const

Dokumentation der Datenelemente

ppl7::SockAddr::addrlen
private
ppl7::SockAddr::saddr
private

Die Dokumentation für diese Klasse wurde erzeugt aufgrund der Dateien: