抓住运行应用程序的ip

时间:2012-05-06 02:29:01

标签: c++ visual-c++ networking network-programming

我正在运行一个服务器应用程序。现在我要做的是我需要指定运行该应用程序的服务器的IP地址,所以在这种情况下,如果服务器IP地址被设置为像111.111.111.111那样我怎么能抓住{ {1}}在Windows系统中该应用程序内部的IP地址,一旦完成,就以整数形式显示服务器ip?

我不打算显示其本地IP,如111.111.111.111甚至127.0.0.1

2 个答案:

答案 0 :(得分:1)

如果没有连接到外部服务器并检查请求IP(如果请求通过不透明的代理可能仍然是错误的),则无法可靠地获取该信息。

原因是Windows实际上(必然)不知道世界上可见的IP地址,因为它可能会有很多很多网络跳跃。因此,解决方案是编写一个简单的脚本,在请求时吐出传入请求的IP地址,然后向该URL发出HTTP请求以确定公共IP。

答案 1 :(得分:0)

如果你想要服务器对外的IP地址,我建议:

lynx --dump http://www.whatismyip.com | grep 'Your IP Address Is'

然后您可以使用RegEx获取IP。当然,这需要安装lynx。如果您需要在应用程序中执行此操作,则需要指定应用程序编程的语言以及它的工作原理。