clanNetwork Socket

Classes

class  clan::SocketName
 Socket name; container class for an IP address and port. More...
 

Construction

 clan::SocketName::SocketName ()
 Constructs a new socket name. More...
 
 clan::SocketName::SocketName (const std::string &port)
 Constructs a SocketName. More...
 
 clan::SocketName::SocketName (const std::string &address, const std::string &port)
 Constructs a SocketName. More...
 

Attributes

std::string clan::SocketName::get_address () const
 Returns the address part of the socket name. More...
 
std::string clan::SocketName::get_port () const
 Returns the port part of the socket name. More...
 
bool clan::SocketName::operator== (const SocketName &other_instance) const
 Returns true if objects are the same. More...
 
bool clan::SocketName::operator< (const SocketName &other_instance) const
 Returns true if the other address is less. More...
 
bool clan::SocketName::operator> (const SocketName &other_instance) const
 Returns true if the other address is greater. More...
 

Operations

void clan::SocketName::set_name (const std::string &hostname, const std::string &port)
 Set the socket name using a hostname and port. More...
 
void clan::SocketName::set_address (const std::string &address)
 Set the IP address. More...
 
void clan::SocketName::set_port (const std::string &port)
 Set the IP port. More...
 
std::string clan::SocketName::lookup_ipv4 () const
 Perform a DNS lookup, if needed, for the IP v4 address. More...
 
std::string clan::SocketName::lookup_hostname () const
 Perform a DNS lookup, if needed, for the hostname. More...
 
SocketName clan::SocketName::to_ipv4 ()
 Create socket name that uses the IP v4 address as its address. More...
 
SocketName clan::SocketName::to_hostname ()
 Create socket name that uses the hostname as its address. More...
 
void clan::SocketName::to_sockaddr (int domain, sockaddr *addr, int len) const
 Fill the socket name into a C sockets sockaddr structure. More...
 
void clan::SocketName::from_sockaddr (int domain, sockaddr *addr, int len)
 Get the socket name from a C sockets sockaddr structure. More...
 

Detailed Description

Function Documentation

◆ SocketName() [1/3]

clan::SocketName::SocketName ( )

Constructs a new socket name.

If no address is specified, the socket address will default to INADDR_ANY. If no port is specified, it will default to port 0.

◆ SocketName() [2/3]

clan::SocketName::SocketName ( const std::string &  address,
const std::string &  port 
)

Constructs a SocketName.

Parameters
address= String
port= String

◆ SocketName() [3/3]

clan::SocketName::SocketName ( const std::string &  port)

Constructs a SocketName.

Parameters
port= String

◆ from_sockaddr()

void clan::SocketName::from_sockaddr ( int  domain,
sockaddr *  addr,
int  len 
)

Get the socket name from a C sockets sockaddr structure.

◆ get_address()

std::string clan::SocketName::get_address ( ) const

Returns the address part of the socket name.

◆ get_port()

std::string clan::SocketName::get_port ( ) const

Returns the port part of the socket name.

◆ lookup_hostname()

std::string clan::SocketName::lookup_hostname ( ) const

Perform a DNS lookup, if needed, for the hostname.

◆ lookup_ipv4()

std::string clan::SocketName::lookup_ipv4 ( ) const

Perform a DNS lookup, if needed, for the IP v4 address.

◆ operator<()

bool clan::SocketName::operator< ( const SocketName other_instance) const

Returns true if the other address is less.

This is used for sorting purposes (eg. if you use a std::map<SocketName, Socket>), and sorts the address based on lowest IP number address.

◆ operator==()

bool clan::SocketName::operator== ( const SocketName other_instance) const

Returns true if objects are the same.

◆ operator>()

bool clan::SocketName::operator> ( const SocketName other_instance) const

Returns true if the other address is greater.

This is used for sorting purposes (eg. if you use a std::map<SocketName, Socket>), and sorts the address based on lowest IP number address.

◆ set_address()

void clan::SocketName::set_address ( const std::string &  address)

Set the IP address.

◆ set_name()

void clan::SocketName::set_name ( const std::string &  hostname,
const std::string &  port 
)

Set the socket name using a hostname and port.

Parameters
hostnameCan be an IPv4 dotted-quad, hostname or a valid IPv6 address.
portPort number.

◆ set_port()

void clan::SocketName::set_port ( const std::string &  port)

Set the IP port.

◆ to_hostname()

SocketName clan::SocketName::to_hostname ( )

Create socket name that uses the hostname as its address.

◆ to_ipv4()

SocketName clan::SocketName::to_ipv4 ( )

Create socket name that uses the IP v4 address as its address.

◆ to_sockaddr()

void clan::SocketName::to_sockaddr ( int  domain,
sockaddr *  addr,
int  len 
) const

Fill the socket name into a C sockets sockaddr structure.