Poco::Net

class SocketAddress

Library: Net
Package: NetCore
Header: Poco/Net/SocketAddress.h

Description

This class represents an internet (IP) endpoint/socket address. The address can belong either to the IPv4 or the IPv6 address family and consists of a host address and a port number.

Member Summary

Member Functions: addr, af, family, host, init, length, operator !=, operator <, operator =, operator ==, port, resolveService, toString

Enumerations

Anonymous

MAX_ADDRESS_LENGTH = sizeof (struct sockaddr_in6)

Maximum length in bytes of a socket address.

Constructors

SocketAddress

SocketAddress();

Creates a wildcard (all zero) IPv4 SocketAddress.

SocketAddress

SocketAddress(
    Poco::UInt16 port
);

Creates a SocketAddress with unspecified (wildcard) IP address and given port number.

SocketAddress

explicit SocketAddress(
    const std::string & hostAndPort
);

Creates a SocketAddress from an IP address or host name and the port number/service name. Host name/address and port number must be separated by a colon. In case of an IPv6 address, the address part must be enclosed in brackets.

Examples:

192.168.1.10:80
[::ffff:192.168.1.120]:2040
www.appinf.com:8080

SocketAddress

SocketAddress(
    const SocketAddress & addr
);

Creates a SocketAddress by copying another one.

SocketAddress

SocketAddress(
    const IPAddress & hostAddress,
    Poco::UInt16 portNumber
);

Creates a SocketAddress from an IP address and given port number.

SocketAddress

SocketAddress(
    const std::string & hostAddress,
    Poco::UInt16 portNumber
);

Creates a SocketAddress from an IP address and given port number.

The IP address must either be a domain name, or it must be in dotted decimal (IPv4) or hex string (IPv6) format.

SocketAddress

SocketAddress(
    const std::string & hostAddress,
    const std::string & portNumber
);

Creates a SocketAddress from an IP address and the service name or port number.

The IP address must either be a domain name, or it must be in dotted decimal (IPv4) or hex string (IPv6) format.

The given port must either be a decimal port number, or a service name.

SocketAddress

SocketAddress(
    const struct sockaddr * addr,
    socklen_t length
);

Creates a SocketAddress from a native socket address.

Destructor

~SocketAddress

~SocketAddress();

Destroys the SocketAddress.

Member Functions

addr

const struct sockaddr * addr() const;

Returns a pointer to the internal native socket address.

af

int af() const;

Returns the address family (AF_INET or AF_INET6) of the address.

family inline

IPAddress::Family family() const;

Returns the address family of the host's address.

host

IPAddress host() const;

Returns the host IP address.

length

socklen_t length() const;

Returns the length of the internal native socket address.

operator != inline

bool operator != (
    const SocketAddress & socketAddress
) const;

operator <

bool operator < (
    const SocketAddress & socketAddress
) const;

operator =

SocketAddress & operator = (
    const SocketAddress & socketAddress
);

Assigns another SocketAddress.

operator == inline

bool operator == (
    const SocketAddress & socketAddress
) const;

port

Poco::UInt16 port() const;

Returns the port number.

toString

std::string toString() const;

Returns a string representation of the address.

init protected

void init(
    const IPAddress & hostAddress,
    Poco::UInt16 portNumber
);

init protected

void init(
    const std::string & hostAddress,
    Poco::UInt16 portNumber
);

resolveService protected

Poco::UInt16 resolveService(
    const std::string & service
);