ip地址段的比较

terencegan 2004-10-20 11:15:58
请教各位老师,IP地址211.144.1.186如何才能转换成整数,我需要比较某个IP地址是否在IP段内,除了转换成整数,是否还其他的比较方法?

您最好给出代码,谢谢
...全文
143 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
ccliu1980 2004-10-28
  • 打赏
  • 举报
回复
IPAddress.Split(".",4)将IP地址分成四个字符串,分割符是.,这样要做什么判断都可以了
manbaum 2004-10-28
  • 打赏
  • 举报
回复
先把 211.144.1.186 变成 4 个数:211、144、1、186,然后计算
IP = (((211 * 256) + 144) * 256) + 1) * 256) + 186。

把你的 IP 段用子网表示出来,比如 211.144.1.0/255.255.255.0,对应为两个数:
NETWORK = (((211 * 256) + 144) * 256) + 1) * 256) + 0
NETMASK = (((255 * 256) + 255) * 256) + 255) * 256) + 0

如果 (IP & NETMASK) == NETWORK 那么 IP 就在你的网段。


jzyuchen 2004-10-28
  • 打赏
  • 举报
回复
比如这样的IP段
222.248.32.0 - 222.248.32.255

你将IP格式换为
222248032000 - 222248032255

把你得到的IP也换为此格式然后数据库比较用ip1<userip and ip2>userip
luluso 2004-10-20
  • 打赏
  • 举报
回复
str.split
分于数组中.
skyeenet 2004-10-20
  • 打赏
  • 举报
回复
比较 substring(0,10)可以满足你的那个IP

其它的话 先 Count 第三个 "."在哪里 然后substring

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧