使用 getaddrinfo() C 函数获取本地 IP 地址?
我正在尝试使用 getaddrinfo() 函数获取本地(而不是外部)IP 地址,但我看到了提供的示例 这里,它们对于我的需求来说太复杂了。还看到其他帖子,大多数人真的想获得外部IP,而不是本地IP。
任何人都可以提供一个关于如何使用此函数获取我自己的本地 IP 地址的简单示例(或简单示例)的链接吗?
需要明确的是,当我说本地时,如果路由器是 192.168.0.1
,我的本地 IP 地址可能类似于 192.168.0.x
(只是一个示例)。
I'm trying to obtain my local (not the external) IP address using the getaddrinfo() function, but I saw the examples provided here, and they where too complex for my needs. Also saw other posts and most of them really wanted to get the external IP, not the local one.
Could anyone provide a link to a simple example (or a simple example) about how to obtain my own local IP address using this function ?
Just to be clear when I say local, if a router is 192.168.0.1
, my local IP address could be something like 192.168.0.x
( just an example ).
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
getaddrinfo()
不是用于获取本地 IP 地址 - 它用于查找套接字地址的名称和/或服务。要获取本地 IP 地址,您需要的函数是 getifaddrs() - 这是一个最小的示例:getaddrinfo()
isn't for obtaining your local IP address - it's for looking up names and/or services to socket addresses. To obtain the local IP address(es), the function you want isgetifaddrs()
- here's a minimal example:使用
gethostname()
后将主机名传递给gethostbyname()
Pass the hostname after using
gethostname()
, togethostbyname()