我是小咲,昨天介绍了IP地址,端口号,UDP,TCP的区别,还记得DatagramPacket和DatagramSocket吗?哪个是”集装箱“,哪个是”码头“(七月新番有看的同学吗)
昨天时间较晚,不是捉弄啦?,其实是补充一下关于InetAddress 的部分代码,再写cmd的时候,你会用ping等方法,现在java也同样可以实行这样的功能,那么首先引入InetAddress这个类吧
常用的五个方法声明有 getByName(host),getlocalHost(),getHostName(),boolean isReachable(timeout),getHostAddress()
其实就是确定主机(目标计算机)IP地址,创建一个本地主机(目标计算机)的对象,判断到达时间
package inetAddress;
import java.net.InetAddress;
public class Example_InetAddress {
//throws Exception表示的是本方法不处理异常,交给被调用处处理(如果你不希望异常层层往上抛,你就要用throws Exception) ,而且被调用处必须处理
public static void main(String[] args) throws Exception{
InetAddress localAddress=InetAddress.getLocalHost();
//创建一个表示本地主机的InetAddress对象
InetAddress baiduAddress=InetAddress.getByName("www.baidu.com");
//getByName(host)参数host标识指定的主
//该方法用于在给定主机名的情况下确定主机的IP地址
System.out.println("本机的IP地址:"+localAddress.getHostAddress());
System.out.println("baidu的IP地址:"+baiduAddress.getHostAddress());
System.out.println("3秒是否可达"+baiduAddress.isReachable(3000));
int n=3000;
for(int i=0;i<n;i++) {
if(baiduAddress.isReachable(i)) {
System.out.println("到达百度的IP地址时间:"+i+"毫秒");
break;
}
}
System.out.println("baidu的主机名:"+baiduAddress.getHostName());
}
}