您的位置:首页 > 编程语言 > Java开发

Java中InetAddress和InetSocketAddress的区别

2017-03-28 07:39 453 查看
在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/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: