您好,欢迎来到[编程问答]网站首页   源码下载   电子书籍   软件下载   专题
当前位置:首页 >> 编程问答 >> C/C++ >> 如何判断两IP是否在同一网段

如何判断两IP是否在同一网段

来源:网络整理     时间:2016/9/8 12:36:59     关键词:

关于网友提出的“ 如何判断两IP是否在同一网段”问题疑问,本网通过在网上对“ 如何判断两IP是否在同一网段”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:

问题: 如何判断两IP是否在同一网段
描述:

现在要做一个函数,要求能够判断任意两IP是否在同一网段。我只知道需要将两IP先进行转换成二进制的数,然后再进行相与,将两个与的结果进行比较。同,则在同一网段,否则,不在同一网段。
如:ip1 = 10.13.135.9  
    ip2 = 10.14.140.8
先转换
    ip1 = 00001010.00001101.10000111.000010001
    ip2 = 00001010.00001110.10001100.000010000
         ip1  00001010.00001101.10000111.000010001
       & mask 11111111.11111111.11111111.000000000
-----------------------------------------------------
        ip1   00001010.00001101.10000111.000000000
        ip2  00001010.00001110.10001100.000010000
      & mask 11111111.11111111.11111111.000000000
-----------------------------------------------------
       ip2   00001010.00001110.10001100.000000000
     由 ip1   00001010.00001101.10000111.000000000
        ip2   00001010.00001110.10001100.000000000
 得出:    ip1  !=  ip2
哪位大侠能不能给出C或者C++ 的代码,小弟才疏学浅,望不吝赐教!


解决方案1:

你可以用winsocket的函数inet_addr把字符型ip转换成usigned long型ip就可以与了。


以上介绍了“ 如何判断两IP是否在同一网段”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/3794496.html

相关图片

相关文章