* 端口:IP地址是用来区分计算机,那么端口就是来区分计算机里的软件的。
* 端口是一个虚拟的概念,不代表主机里真的有多个端口。端口表示的是
* 一个16位的二进制整数,2个字节,对应十进制的0-65535,两个传输协议:
* TCP UDP,同一个协议端口不能冲突。
* 公认端口:0-1023:比如80是分配给www,21端口分配给FTP
* 注册端口:1024-49151:分配给用户进程或应用程序
* 动态、私有端口:49152-65535
* 为避免冲突,端口写大些:比如8888、9999
*通过dos命令查看端口:查看所有端口:netstat -ano
* 查看指定端口:netstat -aon|findstr "808"
* 查看指定进程:tasklist|findstr "808"
* 查看具体程序:使用任务管理器查看PID
* 可以通过以上的命令来查看端口冲突。
*InetSocketAddress:包含端口,用于socket通信的
public class TestPort {
public static void main(String[] args) {
/*
下面socketAddress和socketAddress2是一样的,本机上有配置文件,
在C:\Windows\System32\drivers\etc下有个hosts配置文件,记事本
打开可以看到127.0.0.1 localhost
*/
InetSocketAddress socketAddress =
new InetSocketAddress("127.0.0.1",8080);
InetSocketAddress socketAddress2 =
new InetSocketAddress("localhost",9000);
System.out.println(socketAddress.getHostName());
System.out.println(socketAddress.getAddress());//地址
System.out.println(socketAddress2.getAddress());
System.out.println(socketAddress2.getPort());//端口
}
}
结果:
prod.arbtr.rz.com
prod.arbtr.rz.com/127.0.0.1
localhost/127.0.0.1
9000