Java中InetAddress与InetSocketAddress的基本用法

一、InetAddress:类的主要作用是封装IP及DNS,因为这个类没有构造器,所以我们要用他的一些方法来获得对象常用的有

1、使用getLocalHost方法为InetAddress创建对象;

2、根据域名得到InetAddress对象

3、根据ip得到InetAddress对象

实现代码:这里以我的主机和百度的域名进行了测试。输出

package cn.skh.net;
import java.net.InetAddress;
import java.net.UnknownHostException;
public class InetAddress01 {
	public static void main(String[] args) throws UnknownHostException {
		// 使用getLocalHost方法为InetAddress创建对象;
		InetAddress add=InetAddress.getLocalHost();//获得本机的InetAddress对象
		System.out.println(add.getHostAddress());//返回本机IP地址
		System.out.println(add.getHostName());//输出计算机名
		//根据域名得到InetAddress对象
        add=InetAddress.getByName("www.baidu.com");
        System.out.println(add.getHostAddress());//返回百度服务器的IP地址
		System.out.println(add.getHostName());//输出www.baidu.com;
		//根据ip得到InetAddress对象;
		add=InetAddress.getByName("111.13.100.91");
		System.out.println(add.getHostAddress());
		System.out.println(add.getHostName());//如果ip地址存在,并且DNS给你解析就会输出
		//www.baidu.com,不给你解析就会返回这个IP本身;
	}
}

输出:

 

100.95.227.210
DESKTOP-Q9PCLOB
111.13.100.92
www.baidu.com
111.13.100.91

二、InetSocketAddress类主要作用是封装端口 他是在在InetAddress基础上加端口,但它是有构造器的。具体的一些方法可以去帮助文档查看。

package cn.skh.net;
import java.net.InetAddress;
import java.net.InetSocketAddress;
/**
 * 封装端口 在InetADDress基础上加端口
 * @author SKH
 *
 */
public class InetSocketskh01 {
	public static void main(String[] args) {
		InetSocketAddress add=new InetSocketAddress("100.95.227.210",9999);
		System.out.println(add.getHostName());
        System.out.println(add.getPort());
        InetAddress addr=add.getAddress();//获得端口的ip;
        System.out.println(addr.getHostAddress());//返回ip;
        System.out.println(addr.getHostName());//输出端口名;
	}
}

输出:

DESKTOP-Q9PCLOB
9999
100.95.227.210
DESKTOP-Q9PCLOB

 

  • 12
    点赞
  • 48
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值