一、InetAddress类
1、InetAddress的作用
网络通信要素1:
- IP地址:通过IP地址,唯一的定位互联网上一台主机
InetAddress用来代表IP地址,一个该对象就代表一个IP地址
InetAddress位于java.net包下
- 端口号:标识正在计算机上运行的进程(程序)
不同的进程有不同的端口号
被规定为一个16为的整数0-65535
端口分类:
公认端口号:0-1023。被预先定义的服务通信占用(如:http占用80,FTP占用21 Telnet占用端口23);
注册端口:1024-49151;分配给用户进程或应用程序(Tomcate 占用8080,Mysql 3306,Oracle 1521,sqlserver 1433)
动态/私用端口:49152-65535
- IP与端口号组合得出一个网络套接字:Socket;
2、InetAddress中的常用方法:
- getByName(String host);创建InetAddress的对象
- getLocalHost();创建InetAddress的对象(本地)
- getHostName();获取了域名
- getHostAddress();获取了IP地址
1 public class TestInetAddress {
2
3
4
5 public static void main(String[] args) throws Exception {
6
7 InetAddress inet = InetAddress.getByName("www.atguigu.com");
8
9 System.out.println("inet==>"+inet);
10
11 //两个方法
12
13 System.out.println("inet.getHostName()==>"+inet.getHostName());
14
15 System.out.println("inet.getHostAddress()==>"+inet.getHostAddress());
16
17
18
19 //获取本机ip:getLocalhost();
20
21 InetAddress inet1 = InetAddress.getLocalHost();
22
23 System.out.println("inet1==>"+inet1);
24
25 System.out.println("inet1.getHostName()==>"+inet1.getHostName());
26
27 System.out.println("inet1.getHostAddress()==>"+inet1.getHostAddress());
28
29
打印结果是:
inet==>www.atguigu.com/42.121.6.2
inet.getHostName()==>www.atguigu.com
inet.getHostAddress()==>42.121.6.2
inet1==>lixiumingdeMacBook-Air.local/192.168.2.102
inet1.getHostName()==>lixiumingdeMacBook-Air.local
inet1.getHostAddress()==>192.168.2.102
我从来不相信什么懒洋洋的自由。我向往的自由是通过勤奋和努力实现的更广阔的人生。 我要做一个自由又自律的人,靠势必实现的决心认真地活着。