java ip地址问题.

wwwsyz 2007-04-02 11:22:32
写一个网络测试程序
已有一个网站列表的dns解析数据表.
在表中解析后的ip地址是long型
如何把一个long型的ip构建一个inetAddress对象,或SocketAddress对象.

刚接触java不久,先谢了 !!
...全文
226 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
真的很小奚 2007-04-02
  • 打赏
  • 举报
回复
关注ING
healer_kx 2007-04-02
  • 打赏
  • 举报
回复
这个很简单。

127.0.0.1

就是

127 * 255 ^ 3 + 0 * 255 ^ 2 + 0 * 255 ^ 1 + 1 * 255 ^ 0
zhuokai 2007-04-02
  • 打赏
  • 举报
回复
至少需要知道IP是怎样被Encode成long的,然后Decode回来吧。。。。。。

如果不知道Encode方式,给个IP和对应的long看看。。。。。。
For_suzhen 2007-04-02
  • 打赏
  • 举报
回复
不错,学习
wwwsyz 2007-04-02
  • 打赏
  • 举报
回复
谢谢!!
fengmingjie 2007-04-02
  • 打赏
  • 举报
回复
ip地址和long转换的程序
public class IpUtil {

public static long ip2long(String ip) {
String[] a = ip.split("\\.");
if (a.length == 4) {
return (Integer.parseInt(a[0]) << 24)
+ (Integer.parseInt(a[1]) << 16)
+ (Integer.parseInt(a[2]) << 8) + (Integer.parseInt(a[3]));
}
return 0;
}




public static String long2ip(long l) {
String s = Long.toHexString(l & 0xFFFFFFFF);
return Integer.parseInt(s.substring(0, 2), 16) + "."
+ Integer.parseInt(s.substring(2, 4), 16) + "."
+ Integer.parseInt(s.substring(4, 6), 16) + "."
+ Integer.parseInt(s.substring(6, 8), 16);
}
public static void main(String[] args) {
System.out.println(ip2long("24.71.170.0"));
System.out.println(long2ip(ip2long("24.71.170.255")));
}

}


shan1119 2007-04-02
  • 打赏
  • 举报
回复
关注ING
lixiaoxue85 2007-04-02
  • 打赏
  • 举报
回复
如何把一个long型的ip构建一个inetAddress对象,或SocketAddress对象.
long转成STRING型,然后再构件inetAddress

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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