Tải bản đầy đủ (.ppt) (8 trang)

Lập trình chát theo mô hình client server

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (124.32 KB, 8 trang )

TRƯỜNG ĐẠI HỌC DÂN LẬP HẢI PHỊNG

Bài tập lớn
Mơn: JAVA

Đề tài:
LẬP TRÌNH CHÁT THEO MƠ HÌNH
CLIENT/SERVER

GV hướng dẫn : Phùng Anh Tuấn
Nhóm thực hiện:
Nguyễn Thị Hà
Nguyễn Thị Nhàn
Phùng Thị Thơm
Nguyễn Thị Hồng Thắm

1


Nội dung chính
1. Giới thiệu về Socket
2. Mơ hình Client/Server
3. Nguyên tắc hoạt động
4. Chương trình

2


1. Giới thiệu về Socket
 TCP/IP cho phép các máy tính trong mạng


TCP/IP có thể tạo ra các kết nối để trao đổi thông
tin với nhau.Với 1 địa chỉ IP + 1 cổng TCP sẽ tạo
thành 1 cầu nối và Socket chính là 1 giao diện lập
trình trên các cầu nối đó. (1 IP Address + 1 Port
TCP = 1 Socket )
 Khi 2 máy tính muốn trao đổi thơng tin với nhau
thì 2 máy phải có cùng 1 Socket .1 máy được coi
là Server, nó mở ra 1 Socket và lắng nghe yêu cầu.
Máy kia được coi là Client, nó gọi cho Server
Socket để bắt thiết lập 1 kết nối. Để thiết lập được
kết nối cần có địa chỉ của máy đích (Destination
IP Address )và 1 cổng TCP(TCP port)
3


Giới thiệu về Socket
 Socket có 2 phương thức truyền tin chính là :
Truyền có kết nối(Connection-Oriented)và truyền
khơng có kết nối(Connectionless)
Truyền có kết nối cung cấp phương thức truyền
tin như điện thoại,phải thiết lập kết nối trước khi
truyền và hủy bỏ sau khi sử dụng xong.Mọi dữ liệu
được nhận đúng thứ tự mà nó được gửi.
Truyền khơng kết nối cung cấp phương thức
truyền giống việc phân phát thư không đảm bảo vì
nhiều gói dữ liệu được nhận khác với thứ tự mà
chúng được gửi đi.
4



2.Mơ hình Client/Server
Gửi u cầu
Trả lại kết quả

5


 Các Socket cung cấp 1 giao diện để đọc ghi dữ liệu

thông qua 1 luồng.Khi kết nối đã được thiết lập 2 máy
tính có thể trao đổi dữ liệu thông qua các đối tượng:
BufferedReader in=new BufferedReader(new
InputStreamReader(client.getInputStream()));
PrintWriter
out=PrintWriter(client.getOutputStream(),true);
 Khi thực hiện xong cần hủy bỏ các liên kết để trả lại
tài nguyên cho hệ thống,chúng ta sử dụng phương
thức:
In.close();
Out.close();
Client.close();
6


Hoạt động của 1 ứng dụng mạng Client/Server
Client

Tạo một Socket
Tạo luồng và điều khiển
cho sự trao đổi dữ liệu

Đóng luồng và kết nối

Bắt đầu
chương
trình

Server

Tạo một serverSocket

Yêu cầu
kết nối

Chấp nhận kết nối

Trao đổi dữ liệu

Tạo luồng và điều khiển
cho sự trao đổi dữ liệu

Huỷ bỏ
kết nối
kết thúc
chương
trình

Đóng luồng và kết nối

Tiếp tục?


7


Giao diện chát Client/Server

8



×