Java中InetAddress和InetSocketAddress的区别

在Java中InetAddress和InetSocketAddress看起来很相似,用来描述IP地址和主机名称。当然,它们也支持使用常规方法来检查地址:回环地址、本地地址、组播地址;基本的返回方法:获得IP,获得主机名称等。

重要的是InetSocketAddress包含InetAddress。这意味着,如果我们想对InetSocketAddress中的InetAddress做任何操作,只需要通过getInetAddress()方法获得即可。

对照表

属性InetAddressInetSocketAddress
描述对象IP地址Socket地址(IP地址+端口)
描述IP和主机对象名称IP和主机的对象名称,并包括端口号
解决问题IP到主机名称,主机名称到IPIP到主机名称,主机名称到IP,可以包含端口
获取对象InetAddress.getLocalhost();
InetAddress.getByName(String);
InetAddress.getByAddress(String);
InetSocketAddress.createUnresolved(String, port);

代码示例

public class  hotdream {

    public static void main(String args[]){

       byte[] b = new byte[] {(byte)192,(byte)168,(byte)1,(byte)1};

        try {

            InetAddress add = InetAddress.getByAddress(b);

            System.out.println(add.toString());

            add = InetAddress.getByName("localhost");

            System.out.println(add.toString());

            InetSocketAddress addsock = InetSocketAddress.createUnresolved(

                    "localhost", 90);

            System.out.println(addsock.toString());

        }catch(Exception e) {

        }

    }

}

原文连接

https://commitflame.wordpress.com/2010/12/22/comparing-inetaddress-and-inetsocketaddress-in-java/

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值