三、IP
ip地址:InetAddress
- 唯一定位一台网络上计算机
- 127.0.0.1:本机的localhost 可以在cmd中ping一下 ping 127.0.0.1
- ip地址的分类
- IP地址分类
- ipv4: 127.0.0.11, 4个字节组成,0-255, 42亿个;
- ipv6: ef40::6453:6asb:2f64:c7c4%17, 128位, 8个无符号整数 (可以用ipconfig查看自己的ip)
- 公网(互联网)-私网(局域网)
- ABCD类地址
- 192.167.xx.xx 专门给组织内部使用的
- 域名:记忆IP问题!
- IP:www.jd.com
package com.net; import java.net.InetAddress; import java.net.UnknownHostException; //测试IP public class TestInetAddress { public static void main(String[] args) { //new InetAddress();//没有构造器,错误 try { //查询本机地址 InetAddress inetAddress1 = InetAddress.getByName("127.0.0.1"); System.out.println(inetAddress1); InetAddress inetAddress3 = InetAddress.getByName("localhost"); System.out.println(inetAddress3); InetAddress inetAddress4 = InetAddress.getLocalHost(); System.out.println(inetAddress4); //查询网站百度地址 InetAddress inetAddress2 = InetAddress.getByName("www.baidu.com"); System.out.println(inetAddress2); //常用方法 System.out.println(inetAddress2.getAddress()); System.out.println(inetAddress2.getCanonicalHostName());//规范的名字 System.out.println(inetAddress2.getHostAddress());//IP System.out.println(inetAddress2.getHostName());//域名或者自己本机的名字 } catch (UnknownHostException e) { e.printStackTrace(); } } }
四、端口
- 端口表示计算机上的一个程序的进程;(楼是ip。家里的门是端口)
- 不同的进程有不同的端口号,端口号之间不能冲突。用来区分软件
- 被规定0~65535
- TCP,UDP:65535*2。这是两个协议。在单个协议下。端口号不能冲突
- 端口分类
- 公有端口0~1023
- HTTP:80
- HTTPS:443
- FTP:21
- TELENT:23
- 程序注册端口:1024~49151 分配给用户或者程序
- Tomcat:8080
- MySQL:3306
- Oracle:1521
- 动态端口或私有端口:49152~65535
netstat -ano #查看所有的端口 netstat -ano|findstr "当前端口" #查看指定的端口 tasklist|findstr "端口" #查看指定端口的进程 Ctrl+shift+ESC #打开用户管理器
package com.net; import java.net.InetSocketAddress; public class TestInetSocketAddress { public static void main(String[] args) { InetSocketAddress socketAddress = new InetSocketAddress("127.0.0.1",8080); InetSocketAddress socketAddress2 = new InetSocketAddress("localhost",8080); System.out.println(socketAddress); System.out.println(socketAddress2); System.out.println(socketAddress.getAddress()); System.out.println(socketAddress.getHostName()); //地址 System.out.println(socketAddress.getPort()); //端口 }