C#中获取IP地址问题

来源:百度知道 编辑:UC知道 时间:2024/06/24 07:17:17
我在网上查了个获取本机IP地址的C#程序, 是这样的:
string strHostName = Dns.GetHostName(); //得到本机的主机名

IPHostEntry ipHost;
ipHost = Dns.GetHostEntry(strHostName);
IPAddress strIp = ipHost.AddressList[0];
textBox1.Text = strHostName;
textBox2.Text = strIp.ToString();

得到结果后,我用IPCONFIG指令看了一下我的IP,里面有个以太网适配器 本地连接IPv6地址,还有一个隧道适配器 本地连接IPv6地址,究竟哪一个是我的本机IP地址啊?这两个地址都是什么意思啊? 我用上述c#编程得到的是隧道适配器的IPv6地址,难道这个就是我的本机IP地址? 本人电脑很菜,不怎么懂,请高手帮帮忙,写详细点哈 谢谢~~

C#和ipconfig都只能获取内网IP。

清理连接:
http://bbs.vista123.com/thread-131048-1-1.html

老大你看清楚了API:
ipHost = Dns.GetHostEntry(strHostName);
IPAddress strIp = ipHost.AddressList[0];
ipHost.AddressList[0],这就说明它可以获取很多地址,你如果执行返回List的话,不就是你的所有IP地址吗

右击你的网上领居——属性——本地连接右击——属性——常规选项卡——在列表框中找到internet协议(tcp/ip)点击属性,里面看到的就是你当前的ip地址,如果显示的是自动获取的话你的ip就是内网的,动态的会自动发生改变,也就是说每次联网获得的ip地址都是不一样的

request.UserHostAddress
获取远程客户端的 IP 主机地址