Trong bài này, chúng ta sẽ xây dựng một ứng dụng TCP Client-Server đơn giản nhất để hiểu rõ cách giao tiếp mạng trong Java: Client gửi “Hello”, Server nhận và trả về “OK”.

Mô hình TCP Client-Server cơ bản

Sơ đồ minh họa Client kết nối đến Server qua Socket

Mục tiêu

  • Server lắng nghe trên port 8080
  • Client kết nối và gửi tin nhắn
  • Server nhận tin, xử lý và trả phản hồi

Code Server

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
import java.io.*;
import java.net.*;

public class TcpServer {
    public static void main(String[] args) throws IOException {
        ServerSocket serverSocket = new ServerSocket(8080);
        System.out.println("Server đang chạy trên port 8080...");

        Socket clientSocket = serverSocket.accept();
        System.out.println("Client đã kết nối!");

        BufferedReader in = new BufferedReader(
            new InputStreamReader(clientSocket.getInputStream()));
        PrintWriter out = new PrintWriter(clientSocket.getOutputStream(), true);

        String message = in.readLine();
        System.out.println("Nhận từ Client: " + message);

        out.println("OK - Server đã nhận: " + message);

        clientSocket.close();
        serverSocket.close();
        System.out.println("Kết nối đã đóng.");
    }
}