java--网络编程-基础知识

java为网络支持提供了java.net包,该包下的URL和URLConnection等类提供了以编程方式访问Web服务的功能,而URLDecoder和URLEncoder则提供了普通字符串和appliction/x-www-form-urlencoded MIME 字符串相互转换的静态方法。

使用InetAddress类(实现的接口是Serializable序列化接口):

java提供了InetAddress类代表IP地址,InetAddress下还有两个子类:Inet4Address、Inet6Address,他们分别代表IPv4和IPv6地址。

InetAddress没有提供构造器,而是提供了如下两个静态方法来获取InetAddress实例。

1、getByName(String host):根据主机获取对应的InetAddress对象。

2、getByAddress(byte[] addr):根据原始IP地址来获取对应的InetAddress对象。

 

static InetAddress[]getAllByName(String host) 
          在给定主机名的情况下,根据系统上配置的名称服务返回其 IP 地址所组成的数组。
static InetAddressgetByAddress(byte[] addr) 
          在给定原始 IP 地址的情况下,返回 InetAddress 对象。
static InetAddressgetByAddress(String host, byte[] addr) 
          根据提供的主机名和 IP 地址创建 InetAddress。
static InetAddressgetByName(String host) 
          在给定主机名的情况下确定主机的 IP 地址。

 

InetAddress还提供了如下三个方法来获取InetAddress实例对应的IP地址和主机名。

1、String getCanonicalHostName():获取此IP地址的全限定域名。

2、String getHostAddress():返回该InetAddress实例对应的IP地址字符串(以字符串形式).

3、String getHostName():获取此IP地址的主机名。

除此之外,InetAddress类还提供了一个getLocalHost()方法来获取本机IP地址对应的InetAddress实例。

InetAddress类还提供了一个isReachable()方法,用于测试是否可以到达该地址,该方法将尽最大努力试图到达主机。

 

 1 import java.net.InetAddress;
 2 public class InetAddressClass
 3 {
 4     public static void main(String[] arg) throws Exception{
 5         //根据主机名来获取对应的InetAddress实例
 6         InetAddress ip=InetAddress.getByName("www.baidu.com");
 7         //判断是否可到达
 8         System.out.println("baidu是否可达到:"+ip.isReachable(2000));
 9         //获得该InetAddress实例的IP字符串
10         System.out.println(ip.getHostAddress());
11         //根据原始IP地址来获取对应的InetAddress实例
12         InetAddress local=InetAddress.getByAddress(new byte[]{127,0,0,1});
13         //判断主机是否可到达
14         System.out.println("本机主机是否可以到达:"+local.isReachable(2000));
15         //获取该InetAddress实例对用的全限定域名
16         System.out.println(local.getCanonicalHostName());
17     }
18 }

 

转载于:https://www.cnblogs.com/teng-IT/p/4465304.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值