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);
-
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
2013-09-29 C/C++代码静态检查工具Cppcheck在VS2008开发环境中的安装配置和使用
2013-09-29 MFC上下浮动与渐入渐出消息提示框实现
2013-09-29 MFC渐入渐出框实现方式二
2013-09-29 Cppcheck软件使用