黑马程序员技术交流社区

标题: 关于IP的疑惑 [打印本页]

作者: --☆伟☆--    时间: 2012-6-3 00:56
标题: 关于IP的疑惑
毕老师在讲课时由于时间关系只讲到了InetAddress的getByName方法获取IP对象,但是其中的getByAddress怎么使用,API文档中调用此方法需要传入一个字节数组:.getByAddress(byte[] add)
但是一般的IP地址都是192之类的数字,远大于字节的数值范围,这个字节数组该怎么定义
请教高手这个方法的使用方式
作者: 杜俊彪    时间: 2012-6-3 01:10
在给定原始 IP 地址的情况下,返回 InetAddress 对象。参数按网络字节顺序(对IPv4 byte 数组的长度必须为 4 个字节):地址的高位字节位于 byte[0] ,依次为byte[1],byte[2],byte[3];
因为一个字节的正数范围为“0--255”  192在这个范围内吧!
作者: 罗文杰    时间: 2012-6-3 01:32
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. }
复制代码
运行结果:




作者: 曾_强    时间: 2012-6-3 03:40
192之类的数值在0一255之 间,ip地址由IPv4提升到IPv6也就是4个字节表示IP变6个字节表示.
255-255-255-255
255-255-255-255-255-255
以上为最大IP值




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2