A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© --☆伟☆-- 黑马帝   /  2012-6-3 00:56  /  1511 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

毕老师在讲课时由于时间关系只讲到了InetAddress的getByName方法获取IP对象,但是其中的getByAddress怎么使用,API文档中调用此方法需要传入一个字节数组:.getByAddress(byte[] add)
但是一般的IP地址都是192之类的数字,远大于字节的数值范围,这个字节数组该怎么定义
请教高手这个方法的使用方式

3 个回复

倒序浏览
在给定原始 IP 地址的情况下,返回 InetAddress 对象。参数按网络字节顺序(对IPv4 byte 数组的长度必须为 4 个字节):地址的高位字节位于 byte[0] ,依次为byte[1],byte[2],byte[3];
因为一个字节的正数范围为“0--255”  192在这个范围内吧!

评分

参与人数 1技术分 +1 收起 理由
黄奕豪 + 1

查看全部评分

回复 使用道具 举报
getByAddress(byte[] addr)在给定原始 IP 地址的情况下,返回 InetAddress 对象。参数按网络字节顺序:地址的高位字节位于 getAddress()[0] 中。

我的测试代码:
  1. import java.net.*;
  2. class  IPdemo
  3. {
  4.         public static void main(String[] args) throws UnknownHostException
  5.         {
  6.                
  7.                
  8.                 byte[] ar = new byte[] { (byte) 192, (byte) 168, 1 , (byte)101};   //传入参数数组的定义
  9.                
  10.                 InetAddress arr = InetAddress.getByAddress(ar);
  11.                
  12.                 System.out.println(arr.getHostName() + "...." + arr.getHostAddress());
  13.         }
  14. }
复制代码
运行结果:



评分

参与人数 1技术分 +1 收起 理由
黄奕豪 + 1 赞一个!

查看全部评分

回复 使用道具 举报
曾_强 来自手机 中级黑马 2012-6-3 03:40:54
板凳
192之类的数值在0一255之 间,ip地址由IPv4提升到IPv6也就是4个字节表示IP变6个字节表示.
255-255-255-255
255-255-255-255-255-255
以上为最大IP值
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马