此问题与之前询问的获取本地计算机的IP地址 -Question 几乎相同.但是,我需要找到Linux机器的IP地址.
那么:我如何 - 在C++中以编程方式 - 检测运行我的应用程序的linux服务器的IP地址.服务器至少有两个IP地址,我需要一个特定的IP地址(给定网络中的一个(公共网络)).
我确信有一个简单的功能可以做到这一点 - 但在哪里?
为了让事情更清楚:
我需要找到外部IP地址来绑定我的应用程序.显然我也可以绑定到INADDR_ANY(实际上这就是我现在所做的).不过,我更愿意检测公共地址.
我正在尝试使用getaddrinfo()函数获取我的本地(而不是外部)IP地址,但我看到了这里提供的示例,它们对我的需求来说过于复杂.还看到了其他帖子,其中大部分都非常想获得外部IP,而不是本地IP.
任何人都可以提供一个关于如何使用此函数获取我自己的本地IP地址的简单示例(或简单示例)的链接?
为了清楚我说本地,如果是路由器192.168.0.1
,我的本地IP地址可能就像192.168.0.x
(只是一个例子).