- IP地址用来标识一台计算机,但是一台计算机上可能有多个软件,这时候我们就是利用端口来区分这些软件
- 通过端口,我们可以在一台主机上运行多个网络应用程序
- 端口表示的是一个16位的二进制整数,2个字节,对应十进制的0-65535(这也是一台主机上端口号的范围)
端口 | 端口号 |
---|---|
公共端口 | 0-1023 |
注册端口 | 1024-49151 |
动态/私有端口 | 49152–65535 |
注意:
- 一个协议上不能拥有两个网络程序用一个端口号
- 但是不同协议的网络软件可以用号码相同的端口号,因为仅仅是号码相同而已,例如TCP的80和UDP的80是两个端口号
- 最好还是不要用同一个号码的端口号
作用 | 在cmd上的指令 |
---|---|
查看所有的端口 | netstat -ano |
查看指定端口 | netstat -aon | findstr "端口号" |
查看指定进程 | tasklist |findstr "端口号" |
查看具体进程使用任务管理其查看PID |
一些常用的端口号:
- 8080->tomcat
- 1521->oracl
- 3306->MySQL
- 80->TCP
package study;
import java.net.InetSocketAddress;
public class Exercise {
public static void main(String[] args) {
/*
* 端口
* 1.用于区分一台主机上的软件
* 2.端口号位2个字节 0-65535 主要协议有TCP和UDP
* 3.同一个协议端口号不能冲突
* 4.自己定义时候端口号最好定义大一些
*/
//包含端口
InetSocketAddress s1=new InetSocketAddress("127.0.0.1", 8080);
//使用localhost是查找自己主机
//因为在系统盘下有个Window/System32/divers/etc/hosts文件
InetSocketAddress s2=new InetSocketAddress("localhost", 8080);
System.out.println(s1.getHostName());
System.out.println(s1.getAddress());
System.out.println(s2.getHostName());
System.out.println(s2.getAddress());
}
}