我想获得我的机器连接到互联网的IP地址

时间:2011-09-08 06:27:31

标签: c# windows network-programming

  

可能重复:
  c# Get public/external IP address?

我正在用c#开发一个应用程序,我需要找到用于连接到互联网的公共IP地址。我怎么能得到这个?

3 个答案:

答案 0 :(得分:1)

您可以使用http://showip.codebrainz.ca/来获取它。更多信息here

代码示例:

using System;
using System.Net;

class Program
{
    static void Main()
    {
    // Create web client.
    WebClient client = new WebClient();

    // Download string.
    string ip = client.DownloadString("http://showip.codebrainz.ca/");

    // Write ip.
    Console.WriteLine(ip);
    }
}

答案 1 :(得分:0)

答案 2 :(得分:0)

其他海报已经解决了获取公共IP地址的最简单方法。有一些替代方案,但它们是情境性的(例如需要支持SNMP的路由器的SNMP)。

如果您想要一种方法,不仅可以让您获取公共IP地址,还可以测试您连接到互联网的方式(例如,对称NAT,全锥,直接连接等),您可以使用STUN协议(见RFC 5389)。 STUN还要求您联系外部STUN服务器。

如果你想要一个例子,Ivar Lumi在codeproject上发布了一些working c# code。根据您的要求,这可能是过度的。