C#获取本地地址和IP

在C#中获取一台电脑名,IP地址及当前用户名是非常简单,以下是我常用的几种方法,如果大家还有其他好的方法,可以回复一起整理:
1. 在https://www.360docs.net/doc/581765494.html,中专用属性:
获取服务器电脑名:Page.Server.ManchineName
获取用户信息:https://www.360docs.net/doc/581765494.html,er
获取客户端电脑名:https://www.360docs.net/doc/581765494.html,erHostName
获取客户端电脑IP:https://www.360docs.net/doc/581765494.html,erHostAddress
2. 在网络编程中的通用方法:
获取当前电脑名:static https://www.360docs.net/doc/581765494.html,.Dns.GetHostName()
根据电脑名取出全部IP地址:static https://www.360docs.net/doc/581765494.html,.Dns.Resolve(电脑名).AddressList
也可根据IP地址取出电脑名:static https://www.360docs.net/doc/581765494.html,.Dns.Resolve(IP地址).HostName
3. 系统环境类的通用属性:
当前电脑名:static System.Environment.MachineName
当前电脑所属网域:static https://www.360docs.net/doc/581765494.html,erDomainName
当前电脑用户:static https://www.360docs.net/doc/581765494.html,erName

举例子来说明:

using https://www.360docs.net/doc/581765494.html,;
private void ButtonIP_Click(object sender, System.EventArgs e)
{
https://www.360docs.net/doc/581765494.html,.IPAddress[] addressList = Dns.GetHostByName(Dns.GetHostName()).AddressList;
if (addressList.Length>1)
{
TextLIP.Text = addressList[0].ToString();
TextSIP.Text = addressList[1].ToString();
}
else
{
TextLIP.Text = addressList[0].ToString();
TextSIP.Text = "没有可用的连接";
}
}


××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××
Dns.GetHostByName(string)已过时问题解决方法(转)

“https://www.360docs.net/doc/581765494.html,.Dns.GetHostByName(string)”已过时之类问题解决总结
程序出现: 警告 1 “https://www.360docs.net/doc/581765494.html,.Dns.GetHostByName(string)”已过时:“GetHostByName is obsoleted for this type, please use GetHostEntry instead. https://www.360docs.net/doc/581765494.html,/fwlink/?linkid=14202”
当从VS2003升级到vs2005,或者vs2005到vs2008,vs2010,经常遇到一些警告过时,此类问题解决主要看提示:GetHostByName is obsoleted for this type, please use GetHostEntry instead. GetHostByName类型已经过时,请用GetHostEntry代替,其它类似问题都可以这样解决。只需要将GetHostByName换成GetHostEntry即可。

例如:

//using https://www.360docs.net/doc/581765494.html,;

string hostName = https://www.360docs.net/doc/581765494.html,.Dns.GetHostName();

this.textBox1.Text = hostName;//获取主机名称
https://www.360docs.net/doc/581765494.html,.IPHostEntry ipEntry = https://www.360docs.net/doc/581765494.html,.Dns.GetHostEntry(hostName);

//Dns.GetHostByName(hostName);
//ip地址列表
https://www.360docs.net/doc/581765494.html,.IPAddress[] addr = ipEntry.AddressList;
string IPAddress = addr[0].ToString();
this.textBox2.Text = IPAddress;


××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××

private string GetHostIP()
{
string strHostName = Dns.GetHostName(); //得到本机的主机名
IPHostEntry ipEntry = Dns.GetHostEntry(strHostName); //取得本机IP
if (ipEntry.Addre

ssList.Length > 0)
{
string strAddr = ipEntry.AddressList[0].ToString(); //假设本地主机为单网卡
return strAddr;
}
else
{
return "";
}
}

相关主题
相关文档
最新文档