1 枚舉
最大地址長度,這個與Poco::Net::IPAddress中的定義可以類 比,不過這裡指的是`struct sockaddr_in6
enum { MAX_ADDRESS_LENGTH = #if defined(POCO_HAVE_IPv6) sizeof(struct sockaddr_in6) #else sizeof(struct sockaddr_in) #endif /// Maximum length in bytes of a socket address. };
2 構造函數
創建一個 wildcard 的全 0 的 IPv4 的 socket 地址:
SocketAddress();
用 Poco::Net::IPAddress 和端口號創 建 IPv4 或 IPv6 的 SocketAddress:
SocketAddress(const IPAddress& host, Poco::UInt16 port);
用 std::string 和端口號 創建 IPv4 或 IPv6 的 SocketAddress:
SocketAddress(const std::string& host, Poco::UInt16 port);
SocketAddress(const std::string& host, const std::string& port);
explicit SocketAddress(const std::string& hostAndPort);
拷貝構造函數 :
SocketAddress(const SocketAddress& addr);
原生方式 構造 SocketAddress:
SocketAddress(const struct sockaddr* addr, poco_socklen_t length);
3 常用函數
swap:
void swap (SocketAddress& addr);
獲取 IPAddress、端口和地址類型:
IPAddress host() const;
Poco::UInt16 port() const;
IPAddress::Family family() const;
獲取原生方式的地址長 度、地址和地址族:
poco_socklen_t length() const;
const struct sockaddr* addr() const;
int af() const;
toString:
std::string toString() const;
4 重載運算符
bool operator == (const SocketAddress& addr) const;
bool operator != (const SocketAddress& addr) const;
5 protected 函數
void init(const IPAddress& host, Poco::UInt16 port);
void init(const std::string& host, Poco::UInt16 port);
Poco::UInt16 resolveService(const std::string& service);
轉載請注明來自柳大的CSDN博客:Blog.CSDN.net/Poechant