给定1个IP.从有一定IP的列表里找出最近的N个IP

downmooner 2009-02-24 04:28:26
另外有一个IP分布总表 如 纯真IP库。


有什么好的方法呢 ?

请指教呀
...全文
100 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
downmooner 2009-02-24
  • 打赏
  • 举报
回复
似乎,只能是优先选择 同一IP段的。
如果没有找到足够多的IP,我的想法是再找属于同一地区的IP

如果还没够,那就只能选择隔壁IP段的IP,

如果还没有或者不够,那就返回 IP的主机字节序的差最小的IP。

如果还没有 那就没了。

downmooner 2009-02-24
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 hairetz 的回复:]
你说的最近是什么意思?基于什么原则.
把ip转换成网络字节序就好处理了啊,
[/Quote]

有些IP段 的隔壁段 刚好就不属于同一家运营商了。


分别是电信和网通的2个IP,即使是在隔壁房间里, 也见得网速会比一个上海 一个深圳的同是电信的要快。呀
waizqfor 2009-02-24
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 downmooner 的回复:]
59.50.209.0 59.50.223.255 海南省 电信
59.50.224.0 59.50.231.255 海南省三亚市 电信
59.50.232.0 59.50.232.255 海南省凌水市 电信


看这个。 有些IP IP段 只差1且 成了电信或网通。。。

恳求大家的想法
[/Quote]
相似是从哪方面来相似啊 兄弟要说明白啊
总要有个规律
lgccaa 2009-02-24
  • 打赏
  • 举报
回复
[Quote=引用楼主 downmooner 的帖子:]
另外有一个IP分布总表 如 纯真IP库。


有什么好的方法呢 ?

请指教呀
[/Quote]

[Quote=引用 4 楼 hairetz 的回复:]
你说的最近是什么意思?基于什么原则.
把ip转换成网络字节序就好处理了啊,
[/Quote]

IP分布总表是什么样的信息,最近是什么原则?
是IP的号最近还是IP的号对应的地理位置最近?
问题清楚才好解决啊
太乙 2009-02-24
  • 打赏
  • 举报
回复
使用tracert ???
  • 打赏
  • 举报
回复
你说的最近是什么意思?基于什么原则.
把ip转换成网络字节序就好处理了啊,
downmooner 2009-02-24
  • 打赏
  • 举报
回复
59.50.209.0 59.50.223.255 海南省 电信
59.50.224.0 59.50.231.255 海南省三亚市 电信
59.50.232.0 59.50.232.255 海南省凌水市 电信


看这个。 有些IP IP段 只差1且 成了电信或网通。。。

恳求大家的想法
vincent_1011 2009-02-24
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 Dinelgua 的回复:]
把IP值直接转成 整数 ,然后排序
例如
10.77.88.55
转成
10778855


获取最近的N个IP时,就在排好序的表中找到
10778855

然后从10778855向上去N/2个IP,在从10778855向下取N/2个IP
如果N为奇数 则判断两端N/2+1位置元素 与 10778855差值最小的那个
[/Quote]
可以这样的吗?如果IP是107.7.88.55 有影响吗?
Dinelgua 2009-02-24
  • 打赏
  • 举报
回复
把IP值直接转成 整数 ,然后排序
例如
10.77.88.55
转成
10778855


获取最近的N个IP时,就在排好序的表中找到
10778855

然后从10778855向上去N/2个IP,在从10778855向下取N/2个IP
如果N为奇数 则判断两端N/2+1位置元素 与 10778855差值最小的那个

65,211

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

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