“.NET 4.0 网络开发入门之旅系列文章”
IP 知多少?(中)
“.NET 4.0 网络开发入门之旅系列文章”—— IP 知多少?(上)
3.
怎样知道特定计算机的IP
地址?
.NET
基类库中有一个Dns
静态类,可以完成这个工作(图2
):
图
2
Dns
提供了一堆的静态方法完成各种常用的IP
地址查询功能。
比如,以下代码获取本地主机名称:
String LocalhostName = Dns.GetHostName();
以下代码获取微软公司主机的IP
地址:
IPAddress[] ips = Dns.GetHostAddresses("www.microsoft.com")
;
将上述两句“组合起来”,我们就可以获取本地主机的所有IP
地址:
IPAddress[] ips = Dns.GetHostAddresses(Dns.GetHostName());
如果希望获取更详细的信息,可以使用Dns
的以下方法:
public static IPHostEntry GetHostEntry( string hostNameOrAddress )
上述代码中的IPHostEntry
是.NET
基类库中的另一个类(图3
),可以看到通过它不仅可以获取指定主机的所有IPv4
和IPv6
地址,还可以知道它的主机名(HostName
)和别名(Aliases
)。
图
3
以下是使用GetHostEntry
直接访问微软网站得到的主机信息:
主机名称:lb2.www.ms.akadns.net
主机www.microsoft.com
拥有以下IP
地址:
AddressFamily:InterNetwork Address:207.46.170.10
AddressFamily:InterNetwork Address:65.55.21.250
AddressFamily:InterNetwork Address:207.46.170.123
AddressFamily:InterNetwork Address:65.55.12.249
注意:
Dns
类中有些方法被废弃(Obsolete
)了,使用它时注意一下编译器给出的警告信息。
为了方便起见,我们将获取本地主机IPv4
地址的功能封装为一个静态方法,并将其放入到一个AddressHelper
静态类中:
public static class AddressHelper
{
public static IPAddress[] GetLocalhostIPv4Addresses()
{
String LocalhostName = Dns.GetHostName();
IPHostEntry host = Dns.GetHostEntry(LocalhostName);
List<IPAddress> addresses=new List<IPAddress>();
foreach (IPAddress ip in host.AddressList)
{
if (ip.AddressFamily == AddressFamily.InterNetwork)
addresses.Add(ip);
}
return addresses.ToArray();
}
//
……
}
再把上述这个类添加到一个MyNetworkLibrary
类库中,此类库将用于封装一些常用的功能,后续文章中的示例将直接使用它。
==============================
点击以下链接阅读本文最后一个部分:
“.NET 4.0 网络开发入门之旅系列文章”—— IP 知多少?(下)
分享到:
相关推荐
ASP.NET 4.0 网站开发与项目实战 光盘 包括PPT和Sample,不包括视频教程
.NET4.0离线安装包
ASP.NET 4.0从入门到精通(视频实战版).pdf
精通C#与.NET 4.0数据库开发源码 --------------------------------------------- 这是随书配套源码,共 11.3M. --------------------------------------------- 按我名字搜索,也有本书的PDF档下载和其它的C#与...
ASP.net4.0从入门到精通 张昌龙 辛永平
Newtonsoft.Json.Net 4.0下载.rar
靳华、洪石丹编著的《ASP.NET 4.0编程技术大全(附光盘)》全方位讲解了C#语言基础、ASP.NET开发、ASP.NET 4.0整合WF+WCF等ASP.NET开发技术的方方面面。本书通过理论知识的详细讲解和实际开发项目的实践学习,帮助...
ASP.NET 4.0网站开发入门教程
FastReport.Net4.0_Full 安装程序,解决了PDF打印时,取消了“适合页面大小”的默认设置,使报表设计大小与打印完全一致。
本技术资源包括了我在博客上发表的“.NET 4.0并行计算技术基础”系列文章中的所有示例源码,并包含一个PDF,汇总了所有文章。 与作者互动请访问http://blog.csdn.net/bitfan/archive/2009/10/26/4728180.aspx 更多...
ASP.NET 4.0从入门到精通书后代码
Asp.Net 4.0从入门到精通书本 (源代码).
Asp.net 4.0 实用教程,现学现用
资源名称:.NET 4.0新特性系列视频课程资源目录:【】1.NET4.0中的新特性系列课程(1):等价类型(TypeEquivalency)(Level200)【】1.NET4.0中的新特性系列课程(2):契约式设计【】1.NET4.0中的新特性系列课程(3):.NET...
ASP.NET4.0网站开发与项目实战 ASP.NET+AJAX应用1
《ASP.NET4.0从入门到精通》随书教学视频
精通ASP.NET 4.0
win ce .NET4.0win ce .NET4.0win ce .NET4.0win ce .NET4.0win ce .NET4.0win ce .NET4.0
ASP.NET 4.0从入门到精通PPT 控件 异常处理 日志跟踪 母版
随着计算机的广泛应用和软件技术的发展,不同的操作系统、开发平台、运行框架、开发技术的不兼容性日益突出,给开发...微软借助.NET框架将Windows下各种应用程序开发有机集成起来,为开发人员提供统一的开发接口和类库