Java 网络编程基础:端口(Port)详解

在计算机网络中,端口(Port)是用于区分不同网络服务的数字标识,它与 IP 地址共同组成网络通信的“地址”。


1️⃣ 什么是端口?

  • IP 地址标识一台主机
  • 端口号标识该主机上的某个应用程序(网络服务)

👉 通信时数据发送的目标为:IP 地址 + 端口号


2️⃣ 端口号的范围

范围 说明
0 ~ 1023 系统端口,保留给操作系统使用,如 HTTP(80)、FTP(21)等
1024 ~ 49151 注册端口,用于用户进程或服务(如 MySQL:3306)
49152 ~ 65535 动态端口 / 私有端口,临时分配的端口

3️⃣ 常见端口号

服务/协议 默认端口号
HTTP 80
HTTPS 443
FTP 21
SSH 22
Telnet 23
MySQL 3306
Oracle 1521
Redis 6379

4️⃣ Java 中的端口使用场景

使用方式 示例类
创建服务器并绑定端口 ServerSocket(int port)
客户端连接服务器的端口 Socket(String host, int port)
使用 DatagramSocket 绑定端口 DatagramSocket(int port)

5️⃣ 示例一:开启服务端监听端口

1
2
3
4
5
6
7
8
import java.net.ServerSocket;

public class ServerExample {
public static void main(String[] args) throws Exception {
ServerSocket server = new ServerSocket(8080);
System.out.println("服务端已启动,正在监听端口 8080...");
}
}

📌 说明:创建一个服务端,监听 8080 端口,用于等待客户端连接。


6️⃣ 示例二:客户端连接指定端口的服务端

1
2
3
4
5
6
7
8
import java.net.Socket;

public class ClientExample {
public static void main(String[] args) throws Exception {
Socket client = new Socket("localhost", 8080);
System.out.println("已连接服务器:localhost:8080");
}
}

📌 说明:客户端主动连接服务端的 8080 端口,实现通信连接。


总结

概念 说明
端口号 标识一台主机中的一个网络应用
范围 0 ~ 65535,共 65536 个端口
常见端口 HTTP 80,HTTPS 443,MySQL 3306 等
Java 应用场景 ServerSocket, Socket, DatagramSocket 等绑定使用