[Socket] Server chuyển xâu thành chữ in hoa rồi gửi lại Client

Xây dựng chương trình java socket TCP đọc dữ liệu từ Client. Sau đó chuyển đổi thành chữ in hoa, và gửi lại cho máy khách.

Xem thêm:

ứng dụng chat client server java socket

phân tích n thành tích các số nguyên tố java socket

1. Mô tả bài toán

Đề bài: Viết chương trình java theo mô hình Client/Server. Client gửi một xâu lên Server. Server chuyển xâu thành chữ in hoa rồi gửi trả lại cho Client.

Video hướng dẫn chi tiết:

2. Code tham khảo

2.1 Code phía Server

– Lắng nghe kết nối từ máy khách: Lắng nghe và chờ đợi các kết nối từ máy khách.

– Xử lý dữ liệu từ máy khách: Khi một máy khách kết nối, nó đọc dữ liệu từ máy khách. Chuyển đổi thành chữ in hoa và gửi lại cho máy khách.

– Thông báo kết nối và lỗi: Chương trình cung cấp thông báo cho biết liệu kết nối đã thành công hay không, và cũng thông báo lỗi nếu có vấn đề xảy ra trong quá trình kết nối hoặc truyền nhận dữ liệu.

public class Server {
    private final static int SERVER_PORT = 9555;
    public static void main(String[] args) {
        try {
            System.out.println("Dang doi ket noi...");
            
            //Mo cong
            ServerSocket serverSocket = new ServerSocket(SERVER_PORT);
            Socket socket = serverSocket.accept();
            
            boolean status = socket.isConnected();
            if(status){
                System.out.println("Client Connected!");
                
                //Nhan du lieu tu Client
                Scanner in = new Scanner(socket.getInputStream());
                if(in.hasNextLine()){
                    String inStr = in.nextLine();
                    String outStr = inStr.toUpperCase();
                    
                    //Gui du lieu ve Client
                    PrintWriter out = new PrintWriter(socket.getOutputStream(),true);
                    out.println(outStr);
                }
            }else{
                System.out.println("Connect Fail!");
            }
            
        } catch (Exception e) {
            System.out.println("Khong the chay server!");
        }
    }
}

2.2 Code phía Client

– Lấy thông tin từ giao diện người dùng: Trích xuất địa chỉ IP, cổng và dữ liệu đầu vào từ các trường văn bản trên giao diện người dùng.

– Thực hiện kết nối tới máy chủ: Tạo một kết nối socket tới máy chủ sử dụng địa chỉ IP và cổng đã nhập.

– Gửi dữ liệu tới máy chủ: Chuyển dữ liệu đầu vào từ trường văn bản sang máy chủ thông qua kết nối socket.

– Nhận và hiển thị kết quả từ máy chủ: Nhận dữ liệu từ máy chủ thông qua kết nối socket và hiển thị kết quả trên giao diện người dùng.

private void btnSendActionPerformed(java.awt.event.ActionEvent evt) {                                        
    String host = txtIP.getText();
    int port = Integer.parseInt(txtPort.getText());
    String inStr = txtInput.getText();
    try {
        
        Socket socket = new Socket(host, port);
        
        //gui du lieu len server
        PrintWriter out = new PrintWriter(socket.getOutputStream(),true);
        out.println(inStr);
        
        //Nhan du lieu tu server
        Scanner in = new Scanner(socket.getInputStream());
        String result = "";
        result = in.nextLine();
        
        txtResult.setText(result);
        socket.close();
        
    } catch (Exception e) {
        JOptionPane.showMessageDialog(null, "Khong the ket noi Server","Error",0);
    }
}

Trên đây là ứng dụng Java Swing, có chức năng gửi dữ liệu đến một máy chủ và hiển thị kết quả lên giao diện người dùng. Cảm ơn bạn đã tham khảo bài tập lập trình mạng trên ttnguyen.net.

Bài viết liên quan:

chuyển một số sang hệ Hexa-Decimal java socket

kiểm tra n được gửi từ Client có phải là số hoàn hảo

server gửi chuỗi đảo ngược cho client

Nguyễn Tiến Trường

Mình viết về những điều nhỏ nhặt trong cuộc sống, Viết về câu chuyện những ngày không có em