有没有办法确定std::string中包含的IP地址属于哪种地址族?

人工智能 2026-07-09

我有一个带有setter的class UdpPeer

class UdpPeer {
    struct sockaddr_storage addr;
    socklen_t;
public:
    void setAddr(struct sockaddr_storage const& addr, const socklen_t addrlen);
    void setAddr(std::string const& addr);

在第二种方法(带有 std::string 参数)中,是否有办法从字符串中确定其中包含的地址族?

解决方案

好,我找到了一个解决办法。 我可以简单地调用 getaddrinfo(),传入 addr.c_str()(不进行DNS查询),它返回一个 struct addrinfo 的列表,地址族存储在 ai_family 字段中。

站内所有文章版权归属LeftHeroAI导航站,无授权禁止任何主体转载、抄袭、复制内容,亦不得私自架设镜像站点。一经侵权,本站将通过法律途径追责。

相关文章