编辑:看起来这段代码只返回内部IP。有没有办法用C#找到我的外部IP?
因此,我一直在使用“标准”方法来获取您自己的IP地址:
IPAddress Own;
IPHostEntry host = Dns.GetHostEntry(Dns.GetHostName());
foreach (IPAddress ip in host.AddressList)
{
if (ip.AddressFamily == AddressFamily.InterNetwork)
{
Own = ip;
}
}问题是这给我的地址在英国的某个地方,我在澳大利亚--很明显,当我向谷歌询问我自己的IP地址时,我得到的东西和代码给我的不一样。
那么,为什么这个代码不起作用呢?在我看来,使用DNS服务器解析我自己的主机名有点奇怪(它不是URL,它只是一个计算机名称.),但我相信这是正确的方法。会有什么问题吗?
发布于 2013-11-12 11:47:36
您的系统有静态IP地址吗?通常,我们使用动态IP (作为DHCP客户端)或本地IP地址作为办公地址。
如果不使用静态IP地址,Google可以显示ISP的IP地址,而不是本地系统。
您可以为您的本地系统使用任何IP,该系统可能属于您所在国家或国外的多个本地网络。
您的代码看起来非常好,它显示的是本地IP地址。请与网络配置确认。
https://stackoverflow.com/questions/19928060
复制相似问题