一种遍历ip地址段中所有IP的方法。

这个版本的代码解决了跨网段的问题。但是会多计算出一个网段。

代码
 /// <summary>
        
/// Get the next ip by given ip
        
/// </summary>
        
/// <param name="nowIP">Given IP(Now IP)</param>
        
/// <returns>the next ip</returns>
        static IPAddress NextIP(IPAddress nowIP)
        {
            
byte[] ipBytes = nowIP.GetAddressBytes();
            
if (ipBytes[3!= 254)
            {
                ipBytes[
3+= 1;
            }
            
else if (ipBytes[2!= 254)
            {
                ipBytes[
2+= 1;
                ipBytes[
3= 1;
            }
            
else if (ipBytes[1!= 254)
            {
                ipBytes[
1+= 1;
                ipBytes[
2= 1;
                ipBytes[
3= 1;
            }
            
else if (ipBytes[0!= 254)
            {
                ipBytes[
0+= 1;
                ipBytes[
1= 1;
                ipBytes[
2= 1;
                ipBytes[
3= 1;
            }
            
else
            {
                
// return null;
                
//
            }

            IPAddress ip 
= new IPAddress(ipBytes);

            
return ip;
        }


posted on 2010-07-28 14:14  sixiiweb  阅读(3359)  评论(0编辑  收藏  举报

导航