Advertisement
anhkiet2507

GiaiThich_TCP Client

Oct 11th, 2022 (edited)
1,177
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.95 KB | None | 0 0
  1. package com.kietna.tcpclient;
  2. /*
  3.     Translated by Nguyen Anh Kiet
  4.     Source: http://www2.ic.uff.br/~michael/kr1999/2-application/2_06-sockettcp.htm
  5.     Cách đọc: Đọc giải thích ở trên, Code ở dưới.
  6. */
  7. /*
  8. java.io Chứa các classes phục vụ input và output streams như BufferedReader and DataOutputStream
  9. java.net chứa các class hỗ trợ về mạng. Cụ thể là Socket classes (ServerSocket hoặc clientSocket )
  10.  
  11. */
  12. import java.io.*;
  13. import java.net.*;
  14.  
  15. public class main {
  16.     public static void main(String[] args) throws IOException {
  17.         /*
  18.         Khai báo 2 string
  19.             sentence là String User nhập vào từ bàn phím
  20.             modifiedSentence là String nhận được từ server
  21.         */
  22.         String sentence;
  23.         String modifiedSentence;
  24.         //Tạo một đối tượng Stream có tên là inFromUser kiểu BufferedReader. Input stream này được khởi tạo với kiểu System.in cho phép người dùng nhập từ bàn phím
  25.         BufferedReader inFromUser = new BufferedReader(new InputStreamReader(System.in));
  26.         /*
  27.             Tạo một đối tượng kiểu Socket có tên là clientSocket.
  28.             Đồng thời cũng khởi tạo một kết nối TCP từ client và server
  29.             Hostname được thay bằng hostname hoặc ip của server
  30.             Client sẽ tiến hành truy vấn DNS để lấy IP của server
  31.             Số hiệu cổng là 6789 phải trùng với cổng ở server
  32.             Địa chỉ IP cùng với số hiệu cổng sẽ xác định tiến trình của Server
  33.         */
  34.         Socket clientSocket = new Socket("hostname", 6789);
  35.         /*
  36.             Tạo 2 đối tượng Stream đính kèm với Socket
  37.             outToServer cung cấp đầu ra cho tiến trình tới socket
  38.             inFromServer cung cấp đầu vào cho tiến trình từ socket
  39.         */
  40.         DataOutputStream outToServer = new DataOutputStream(clientSocket.getOutputStream());
  41.         BufferedReader inFromServer = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));
  42.         // Lấy thông tin người dùng nhập từ bàn phím và lưu vào String sentence
  43.         sentence = inFromUser.readLine();
  44.         // Gửi thông tin của String Sentence tới outToServer stream qua kết nối TCP. Sau đó sẽ đợi server trả kết quả về.
  45.         outToServer.writeBytes(sentence + '\n');
  46.         // Khi thông tinh được trả về từ Server, sẽ được truyền qua sream inFromServer và được ghi vào String modifiedSentence. Thông tin được nhận về liên tục cho tới khi hết.
  47.         modifiedSentence = inFromServer.readLine();
  48.         //In ra đoạn kí tự modifiedSentence lấy về từ server
  49.         System.out.println("FROM SERVER " + modifiedSentence);
  50.         //Đóng kết nối với server
  51.         clientSocket.close();
  52.     }
  53. }
  54.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement