网络编程_端口
端口表示的是两个字节,十六位,大小是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());
}
}