【发布时间】:2010-01-27 10:53:03
【问题描述】:
我正在尝试使用 getaddrinfo() 函数获取我的本地(而不是外部)IP 地址,但我看到了here 提供的示例,它们对于我的需求来说太复杂了。还看了其他帖子,大部分都是想获取外部IP,而不是本地IP。
谁能提供一个简单示例(或简单示例)的链接,说明如何使用此功能获取我自己的本地 IP 地址?
当我说本地时要清楚,如果路由器是 192.168.0.1 ,我的本地 IP 地址可能类似于 192.168.0.x (只是一个例子)。
【问题讨论】:
-
getaddrinfo 被设计成在 ipv4 和 ipv6 之间有一个统一的接口,这就是它看起来有点复杂的原因。 (如果得到答案,我稍后会告诉你)
-
谢谢! ,是的,它看起来很复杂,我不想使用 gethostbyname() 因为它似乎已被弃用...
-
该页面上的最后一个示例是如何做到这一点......为什么这太复杂了?如果你真的只想要一个 IPv4 地址,请使用 AF_INET……但不要那样做,让它也支持 IPv6。
-
如果您使用 C++,您是否考虑过使用 ASIO 网络库? asio.sourceforge.net
-
感谢您的评论,我会检查一下!
标签: c++ c getaddrinfo