TCP:传输控制协议
-  特点:面向连接、可靠通信 
-  TCP的最终目的:要保证在不可靠的信道上实现可靠的传输 
-  TCP主要有三个步骤实现可靠传输:三次握手建立连接,传输数据进行确认,四次挥手断开连接 -  三次握手建立可靠连接。  
-  建立连接后会建立可靠的通信管道  
-  四次握手断开连接  
 
-  
TCP通信之客户端开发


客户端发送信息:
import java.io.*;
import java.net.*;
public class TCPClient {
    public static void main(String[] args) {
        final String serverAddress = "127.0.0.1"; // 服务器地址
        final int serverPort = 8080; // 服务器端口
        try {
            // 连接到服务器
            Socket socket = new Socket(serverAddress, serverPort);
            System.out.println("Connected to server.");
            // 发送消息到服务器
            sendMessage(socket, "Hello, Server!");
            // 接收服务器的响应
            String response = receiveMessage(socket);
            System.out.println("Response from server: " + response);
            // 关闭连接
            socket.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
    private static void sendMessage(Socket socket, String message) throws IOException {
        PrintWriter out = new PrintWriter(socket.getOutputStream(), true);
        out.println(message);
    }
    private static String receiveMessage(Socket socket) throws IOException {
        BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
        return in.readLine();
    }
}
TCP通信之服务端开发

 
服务端接收信息
import java.io.*;
import java.net.*;
public class TCPExample {
    public static void main(String[] args) {
        final int PORT = 8080;
        try {
            // 启动服务器
            ServerSocket serverSocket = new ServerSocket(PORT);
            System.out.println("Server started. Waiting for connections...");
            // 等待客户端连接
            Socket clientSocket = serverSocket.accept();
            System.out.println("Client connected: " + clientSocket);
            // 处理客户端请求
            handleClient(clientSocket);
            // 关闭服务器
            serverSocket.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
    public static void handleClient(Socket clientSocket) {
        try {
            // 接收客户端消息
            BufferedReader in = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));
            String message = in.readLine();
            System.out.println("Received message from client: " + message);
            // 向客户端发送响应
            PrintWriter out = new PrintWriter(clientSocket.getOutputStream(), true);
            out.println("Hello, Client!");
            // 关闭连接
            clientSocket.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

![[网鼎杯 2020 玄武组]SSRFMe](https://img-blog.csdnimg.cn/img_convert/469e239ae679d5676a8672d61bbbf32f.png)

















