Chương III - Kết Nối SOCKET Sử Dụng TCP

Màu nền
Font chữ
Font size
Chiều cao dòng


II, Trình Tự Hoạt Động Của Máy Chủ (SERVER) :

1, Khai Báo Thư Viện :

//thư viện khai báo việc nhập/xuất dữ liệu

import java.io.*;

 

//thư viện làm việc trên mạng

import java.net.*;

 

2, Kết nối máy chủ - máy khách :

//Biến server thuộc kiểu ServerSocket, nó thiết lập cổng chờ đợi của Server :

ServerSocket server = new ServerSocket(1234);

 

//Biến client thuộc kiểu Socket, nó cho phép máy khách được kết nối đến máy chủ :

Socket client = server.accept();

3, Khai Báo Các Biến Sử Dụng :

//Biến br dùng để đọc luồng dữ liệu được gửi đến từ máy khách

BufferedReader br = new BufferedReader(new                             InputStreamReader(client.getInputStream()));

 

//Biến pw dùng để gửi thông tin từ máy chủ về máy khách

PrintWriter pw = new  PrintWriter(client.getOutputStream());

 

//Biến st thuộc kiểu chuỗi, dùng để làm biến trung gian lưu dữ liệu

String st;

4, Máy chủ đọc dữ liệu được gửi đến từ máy khách thông qua biến br :

st = br.readLine();

 

Dữ liệu gửi đến sẽ là kiểu chuỗi, do đó nếu muốn chuyển sang KDL khác ta sử dụng parse. Ví dụ muốn chuyển sang kiểu double, ta có :

double a = Double.parseDouble(st);

5, Xử lý dữ liệu được gửi đến, việc này ta nên viết thành 1 hàm xử lý bên ngoài hàm main().Ví dụ muốn chuyển chuỗi thành chữ HOA, ta có :

String kq = CHUHOA(st);

 

Hàm xử lý được viết bên ngoài hàm main() :

public static String CHUHOA(String st)

{

          return st.toUpperCase();

}

6, Gửi trả kết quả về máy khách thông qua biến pw :

pw.write(kq + "

");

pw.flush();

7, Kết thúc phiên làm việc của máy chủ :

br.close();

pw.close();

client.close();

server.close();

III, Trình Tự Hoạt Động Của Máy Khách (CLIENT) :

1, Khai Báo Thư Viện :

//thư viện khai báo việc nhập/xuất dữ liệu

import java.io.*;

 

//thư viện làm việc trên mạng

import java.net.*;

 

 

2, Kết nối máy chủ - máy khách :

//Biến server thuộc kiểu Socket, nó yêu cầu kết nối đến cổng xác định của máy chủ :

Socket server = new Socket("tên máy chủ",1234);

 

Tên máy chủ có thể là : tên máy cục bộ (localhost), tên máy chủ bất kỳ (H.ROOT-SERVERS.NET), hoặc địa chỉ IP (128.63.2.53)

3, Khai Báo Các Biến Sử Dụng :

//Biến in  dùng để đọc luồng dữ liệu được nhập từ bàn phím

BufferedReader in = new BufferedReader(new

                             InputStreamReader(System.in));

///Biến br dùng để đọc luồng dữ liệu được gửi về từ máy chủ

BufferedReader br = new BufferedReader(new                             InputStreamReader(server.getInputStream()));

//Biến pw dùng để gửi thông tin từ máy khách đến máy chủ

PrintWriter pw = new  PrintWriter(server.getOutputStream());

//Biến st thuộc kiểu chuỗi, dùng để làm biến trung gian lưu dữ liệu

String st;

4, Máy khách nhập dữ liệu cần xử lý vào từ bàn phím :

System.out.print("Nhap du lieu : ");

st = in.readLine();

 

 

Kiểu dữ liệu nên đặt cố định là kiểu chuỗi, vì khi gửi đi tới máy chủ thì bắt buộc phải là kiểu chuỗi.

5, Gửi dữ liệu từ máy khách đến máy chủ thông qua biến pw :

pw.write(st + "

");

pw.flush();

6, Đọc dữ liệu được trả về từ máy chủ thông qua biến br :

String kq = br.readLine();

 

Sau khi đọc, tuỳ dữ liệu trả về là kiểu gì, bạn sử dụng parse để chuyển đổi theo yêu cầu.Ví dụ muốn chuyển sang kiểu số nguyên :

String kq = br.readLine();

int a = Integer.parseInt(kq);

 

hoặc  :

 

int a = Integer.parseInt(br.readLine());

7, In kết quả thu được lên màn hình :

System.out.println(“Ket qua tu may chu : " + kq);

8, Kết thúc phiên làm việc của máy khách  :

br.close();

pw.close();

server.close();

Bạn đang đọc truyện trên: Truyen2U.Pro