Xây dựng chương trình java socket TCP đọc dữ liệu từ Client. Sau đó chuyển xâu 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
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