Java为了跨平台,在网络应用通信时是不允许直接调用操作系统接口的,而是由java.net包来提供网络功能。下面我们来介绍几个 java.net包中的常用的类.
1.InetAddress的使用
作用:封装计算机的IP地址和DNS(没有端口信息)。
注:
DNS
是
Domain Name System
,域名系统。
这个类没有构造方法。如果要得到对象,只能通过静态方法: getLocalHost()、
getByName()
、
getAllByName()
、 getAddress()、
getHostName()。
1.获取本机信息
获取本机信息需要使用
getLocalHost
方法创建
InetAddress
对象。getLocalHost()方法返回一个
InetAddress
对象,这个对象包含了本 机的IP
地址,计算机名等信息。
2.根据域名获取计算机的信息
根据域名获取计算机信息时需要使用
getByName(“
域名
”)
方法创建 InetAddress对象。
3.根据
IP
获取计算机的信息
根据
IP
地址获取计算机信息时需要使用
getByName(“IP”)
方法创建 InetAddress对象。
import java.net.InetAddress;
import java.net.UnknownHostException;
public class InetAddressTest {
public static void main(String[] args) throws UnknownHostException {
//实例化InetAddress对象(该类没有构造方法,需要通过调用静态方法来实例化对象)
InetAddress inetAddress = InetAddress.getLocalHost();
System.out.println(inetAddress.getHostAddress());
System.out.println(inetAddress.getHostName());
System.out.println("------------------------------------------");
InetAddress inetAddress1 = InetAddress.getByName("www.baidu.com");
System.out.println(inetAddress1.getHostAddress());
System.out.println(inetAddress1.getHostName());
System.out.println("------------------------------------------");
InetAddress inetAddress2 = InetAddress.getByName("192.168.124.2");
System.out.println(inetAddress2.getHostAddress());
System.out.println(inetAddress2.getHostName());
System.out.println("------------------------------------------");
}
}
2.InetSocketAddress的使用
作用:
包含
IP
和端口信息,常用于
Socket
通信。此类实现
IP
套接字地址(IP
地址
+
端口号),不依赖任何协议
InetSocketAddress
相比较
InetAddress
多了一个端口号,端口的作 用:一台拥有IP
地址的主机可以提供许多服务,比如
Web
服务、 FTP服务、
SMTP
服务等,这些服务完全可以通过
1
个
IP
地址来实
现。
import java.net.InetSocketAddress;
public class InetSocketAddressTest {
public static void main(String[] args) {
//实例化InetSockedAddress对象(该类有构造方法,直接new即可)
//域名+端口号
InetSocketAddress inetSocketAddress = new InetSocketAddress("www.baidu.com",80);
//先通过getAddress()返回一个InetAddress类的对象在调用
System.out.println(inetSocketAddress.getAddress().getHostAddress());
System.out.println(inetSocketAddress.getHostName());
}
}
3.运行结果
希望对宝子们有点帮助哈!宝子们喜欢的话点个赞呀!