旋风

Communication comes from our hears and heads! my msn:youpeizun@hotmail.com


posts - 90, comments - 352, trackbacks - 27, articles - 1

大家都知道C#在网络编程方面是有很大优.VisualStudio.net2005 增加一个新的命名空间using System.Net.NetworkInformation让我们常简单地去实现得一些网络程序.
下面我编的程序,觉得对想了解这个命名空间的人有很大的帮助.有兴趣提话Downlond下来看看,有什么问题咱们交流交流:
本程序可实现的功能.
1.在DNS服务器上搜索所提供IP范围的IP信息.
2.可以判断所提供IP范围的IP是否可以PING通.
3.可以取得所提供对像(url,ip,服务器名)的信息如(主机名,相关IP列表,相关别名列表)
4.可以取得本地连接的配置信息.
5.可以取得网络通信的数据统计信息(tcp,udp,ip4,ip6);

下载解决方案


下面说下相关信息:详细的可在程序里面有注释,代码量太大了也就不贴出来啦.
以下只说一下新的命名空间using System.Net.NetworkInformation,我所了解的功能.

1.得到本地网络连接的配置信息(如DNS,DHCP,MAC,....).
IPInterfaceProperties .

2.可得到本地网络数据接收与发送数据的统计信息.

IPGlobalProperties properties = IPGlobalProperties.GetIPGlobalProperties();
IPGlobalStatistics ipstat;
Internet版本4.统计信息.
ipstat = properties.GetIPv4GlobalStatistics()

Internet版本4 TCP.统计信息.
TcpStatistics tcpStatistics;
tcpStatistics = properties.GetTcpIPv4Statistics();

Internet版本4. UDP统计信息.
UdpStatistics udpStatistics
udpStatistics = properties.GetUdpIPv4Statistics();

3.判断是否有有效的本地网络连接信息
NetworkInterface.GetIsNetworkAvailable()返回布尔类型.
4.判断是用的是那个版本(IPv4或IP6)
NetworkInterface.Support(NetworkInterfaceComponent.IPv4)返回布尔类型
NetworkInterface_temp.Supports(NetworkInterfaceComponent.IPv6)返回布尔类型
4.最好要说的一个功能就Ping啦,大家都知道 CMD命令下的命令也有个PING,其实就是一个样的东西.

Feedback

#1楼   回复  引用  查看    

2006-05-15 10:20 by GouGou      
那里有C#2005的中文的教程的电子书呀?
C#2005感觉很不一样。。。

#2楼   回复  引用    

2006-05-15 10:55 by Jemmy[未注册用户]
www.itpub.net, 去论坛找,要啥有啥

#3楼[楼主]   回复  引用  查看    

2006-05-15 12:32 by xuanfeng      
为什么不用MSDN提供的C#的基础教程呢,我觉得里面找到很好的示例,而表可以结合自己的问题,能够快速的在MSDN里找到最详细的资料.
以下地址可以下载很多示例.
http://msdn.microsoft.com/vcsharp/downloads/samples/default.aspx">http://msdn.microsoft.com/vcsharp/downloads/samples/default.aspx

#4楼   回复  引用    

2007-10-31 15:16 by prodigal[未注册用户]
CheckIp这段代码好像有点问题,应该是:
#region 保证IP正确
bool CheckIp(string ip)
{
string[] ips = ip.Split(new char[] { '.' });
if (ips.Length != 4)
{
return true; //返回“true”时,将执行“MessageBox.Show("输入起始ip{0}:格式有误.正确格式:0.0.0.0"); return;”
}
else
{
foreach (string temp in ips)
{
if (int.Parse(temp) > 255 || int.Parse(temp) < 0)
{
return true;
}
}
}
return false; //返回“false”时才执行“DoCan(Tb_Bip.Text, Tb_Eip.Text, "Ping");”
}
#endregion

#5楼   回复  引用  查看    

2009-05-13 18:00 by tloner      
@prodigal

用一个正则表达式就可以了
Regex rx = new Regex(@"^(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9])\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[0-9])$");
return rx.IsMatch(ip);



发表评论

昵称: [登录] [注册]

主页:

邮箱:(仅博主可见)

评论内容:

  登录  注册

[使用Ctrl+Enter键快速提交评论]

0 400158




相关文章:

相关链接: