网络编程_端口

端口表示的是两个字节,十六位,大小是0~65535,它没有负数的概念。
底层有具体的TCP/UDP。TCP有6万个,UDP有6万个。不同的协议有不同的端口,需要注意的是端口在同一个协议下不能冲突,就好比在家里你不能去装120、119、110一样。
不同的协议下端口可以重复,但不建议重复,不好区分。端口不存在不够用的情况,因为你电脑里不会装12万个软件。

后期经常会遇到的端口有:80(http协议)、8080(tomcat)、1521(Oracle)、3306(MySQL)。

建议大家使用1024以上的端口,越大越好。

网络编程_端口

打开cmd,输入
查看所有端口:netstat -ano
查看指定端口被哪个【进程】占用:netstat -aon|findstr “808”
查看指定进程的【程序名】:tasklist|findstr “808”
查看具体程序:使用任务管理器查看PID(快捷键CTRL+Alt+DEL)

网络编程_端口
网络编程_端口

在Java里面是怎么将端口映射到对应的类里面?

package com.sxt.loc;

import java.net.InetSocketAddress;
/**
 * 端口
 * 1、区分软件
 * 2、2个字节 0-65535  UDP TCP
 * 3、同一个协议端口不能冲突
 * 4、定义端口越大越好
 * InetSocketAddress 
 * 1、构造器
 *   new InetSocketAddress(地址|域名,端口);
 * 2、方法
 *  getAddress​()  
 *  getPort()
 *  getHostName()
 * @author 
 *
 */
public class PortTest {

	public static void main(String[] args) {
		//包含端口
		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());

	}
}