日期:2014-05-17  浏览次数:20709 次

通过起始IP和IP总个数,求得所有的连续IP
如题.举例起始IP为192.168.2.2,IP总个数为3,那么要求得的所有IP的为192.168.2.2,192.168.2.3,192.168.2.4。再举个例子,起始IP为192.168.2.253,IP总个数为5那么要求得的所有IP为192.168.2.253,192.168.2.254,192.168.3.1,192.168.3.2,192.168.3.3。我想大家应该明白是什么意思了。求大家帮助啊。谢谢各位了!急急急!100分送上。
获取IP

------解决方案--------------------
这个老早以前写过,很简单的,就是字符串按.分割,取最后一项然后根据输入的数,累加即可。到了255的时候是一个拐点,取最后一项的前一项+1,最后一项初始值为1.
------解决方案--------------------
请补充一下基础知识“ipv4 和256进制的关系,ip2long,long2ip的转换规则,System.Net.IPAddress类的使用说明”

相信你看完这些东西,自己写不需要3分钟就ok。祝:编程愉快
------解决方案--------------------
refer:
static void Main(string[] args)
        {
            string ip = "254.254.253.253";//这个为测试ip
            int count = 259;//这个为输入的个数
            string[] ss = ip.Split('.');

            int num1 = Convert.ToInt32(ss[0]);
            int num2 = Convert.ToInt32(ss[1]);
            int num3 = Convert.ToInt32(ss[2]);
            int num4 = Convert.ToInt32(ss[3]);

            for (int i = 0; i < count; i++)
            {
                num4++;
                if (num4 > 254)
                {
                    num3++;
                    num4 = 1;
                }

                if (num3 > 254)
                {
                    num2++;
                    num3 = 1;
                    num4 = 1;
                }