gpt4 book ai didi

c - 在 POSIX C 中获取自己的外部 IP 地址

转载 作者:行者123 更新时间:2023-12-01 12:01:30 26 4
gpt4 key购买 nike

我希望获得自己的 IP 地址,以便将该信息发布到对等网络中。在 POSIX/C 中我们有 getaddrinfo(NULL, ...),但这似乎总是返回 INADDR_ANYINADDR_LOOPBACK,这对我。

有什么建议吗?

最佳答案

其中一个问题是,即使您获得了本地 IP 地址,由于 NAT 的困惑,互联网上其他人看到的 IP 地址也可能不同。不幸的是,这很常见。使用 IPv6 可能会抑制这个问题,但现在它可能不适合您。

要获得公共(public) IP 地址,您需要一个为此目的制定的协议(protocol),例如STUN。 (RFC 5389)。有public STUN servers并且已经存在 STUN clients in C .

所有的点对点程序都有类似的问题,所以学习别人在做什么,我强烈推荐阅读RFC 5128, "State of Peer-to-Peer (P2P) Communication across Network Address Translators (NATs)" .

关于c - 在 POSIX C 中获取自己的外部 IP 地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/905406/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com