Tải bản đầy đủ (.pdf) (4 trang)

Socket project

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 (131.19 KB, 4 trang )

ĐỒ ÁN THỰC HÀNH SOCKET
Ngơn ngữ lập trình: Tùy chọn
Giao diện: Chỉ cần Client có giao diện
Nhóm: tối đa 4 sinh viên
Deadline: 23h55, 25.08.2017 (vui lòng nộp một version demo trước ngày 24.08.2017 để
nắm số lượng nhóm và sắp lịch vấn đáp, chỉ những nhóm nộp trước này mới có lịch vấn
đáp)
Ngày vấn đáp: 26.08.2017 hoặc 27.07.2017
Quy định:
1. Giống bài nhau: 0 điểm môn học
2. Nộp bài không đúng quy định: 0 điểm bài tập này

XÂY DỰNG VÀ TRIỂN KHAI ỨNG
DỤNG MẠNG CHAT
[Nội dung bài tập]
Server
1. Mở kết nối
Server chọn chức năng mở kết nối (IP, Port) để sẵn sàng nhận các yêu cầu từ Client.
2. Đóng kết nối
Server chọn chức năng đóng kết nối để ngắt kết nối tới toàn bộ Client. Khi Server đã
ngắt kết nối, các Client không thể thực hiện tiếp các chức năng.
3. Hiển thị danh sách tài khoản
Màn hình phía Server cho phép hiển thị danh sách các tài khoản, trạng thái tài khoản:
đang online, offline, ip, port của từng tài khoản đang online.
4. Tạo tài khoản mới
Server tạo tài khoản mới dựa vào username, password mà Client gửi tới. Server phải
 Kiểm tra Username và Password có hợp lệ hay khơng?
 Nếu hợp lệ, Server sẽ thực hiện tạo tài khoản mà Client yêu cầu, đồng thời
gửi thông báo tạo tài khoản thành cơng tới Client
 Nếu thất bại, thì gửi thơng báo tạo tài khoản thất bại tới Client
5. Thay đổi thông tin tài khoản


 Kiểm tra Client đã đăng nhập hay khơng?
 Nếu Client đã đăng nhập thì Server phải kiểm tra Client đúng là người biết
password cũ và đang muốn thay đổi password này (dựa vào username và
oldpassword).


◦ Nếu Client không phải là người biết password cũ thì tức người đó đang
muốn thay đổi thơng tin của tài khoản khác. Server sẽ gửi thông tin cảnh
báo đến Client đó.
◦ Nếu Client là người biết password thì Server sẽ thực hiện thay đổi
Password. Sau đó gửi thơng báo thay đổi thông tin thành công đến
Client.
 Nếu Client chưa đăng nhập thì gửi thơng báo chưa đăng nhập đến Client.
6. Truyền file: Hệ thống Server cho phép Client truyền file qua lại lẫn nhau, nhưng
quá trình truyền file, diễn ra ở một server khác hoặc một process khác trên cùng
một máy.
 Bước 1: ClientA sẽ báo Server truyền file cho ClientB
 Bước 2: Server chuyển thông tin báo ClientB là ClientA sắp chuyển file
 Bước 3: Server báo cho Server chịu trách nhiệm chuyển file
 Bước 4: Server chuyển file thơng tin cho Server có 2 port mở để truyền file
 Bươc 5, 6: Server chuyển thông tin 2 port mở cho ClientA và ClientB tương
ứng
 Bước 7, 8: ClientA, ClientB nhận thông tin port mở của Server chuyển file
từ Server. Sau đó ClientA và CientB sẽ connect vào và bắt đầu truyền file
thông qua Server chuyển file.

7. Theo dõi hệ thống
 Hiển thị danh sách log file: Server phải hiển thị danh sách log file, danh
sách này thể hiện
◦ Ngày giờ xảy ra sự kiện log

◦ Loại log type (Error log, information log, warning log)
◦ User thực hiện hành động
◦ Nội dung log
 Những sự kiện sẽ ghi xuống Log
◦ Server mở kết nối
◦ Đăng nhập
◦ Thêm, xoá, sửa tài khoản


 Những hành động vi phạm security phải được ghi xuống log với dạng
warning
 Server có thể xố log file nếu cần thiết vì thơng tin log đã q cũ.
Client
Viết trên giao diện, khi ứng dụng Client start, Client phải nhập vào IP và port phía
Server để kết nối tới Server.
Để sử dụng ứng dụng chat, Client phải đăng nhập vào hệ thống thơng qua Username và
Password. Nếu chưa có tài khoản thì Client phai tạo tài khoản mới.
1. Tạo tài khoản mới
Client chọn chức năng tạo tài khoản mới, màn hình tạo tài khoản mới hiện lên và Client
phải nhập thông tin muốn tào vào form gồm: Username, password, fullname.
Gửi thông tin của tài khoản muốn tạo về cho Server.
 Server kiểm tra trong hệ thống đã tồn tại Username này hay chưa?
 Nếu chưa tồn tại, Server tạo tài khoản mới cho Client, đồng thời gửi thông
điệp thành công đến Client.
 Nếu tồn tại rồi, Server gửi thông điệp Username đã tồn tại đến cho Client
để yêu cầu Client nhập lại.
2. Đăng nhập vào ứng dụng
Client nhập Username và Password vào ứng dụng, thông tin đăng nhập được gửi đến
Server. Server nhận thông điệp đăng nhập từ Client, nếu Username và Password chính
xác thì cập nhật trạng thái của Client đó là Online đồng thời gửi:

 Danh sách tài khoản đang online khác tới cho Client này (danh sách này sẽ
được Client cập nhật lại mỗi 5s một lần.)
 Thông báo đăng nhập thành công
 Nếu đăng nhập không thành công, Server gửi thông báo đăng nhập không
thành công đến cho Client.
3. Chat
 Sau khi đăng nhập vào ứng dụng, Client sẽ sử dụng ứng dụng để chat.
 Client chọn User muốn gửi thông điệp (chỉ những tài khoản đang online)
 Thông điệp được gửi đến Server. Server nhận thơng điệp, sau đó gửi thơng
điệp đó đến User mà Client muốn gửi.
 Nếu Client không chọn User nào tức là muốn gửi message cho tất cả các
User đang online.
4. Truyền file giữa các Client
 Client chọn User muốn gửi file (chỉ những tài khoản đang online)
 Thông tin gửi file phải gửi thông qua Server truyền file, không được gửi
trực tiếp giữa các Client với nhau.
 Client gửi file: cho phép chọn file để gửi. Client nhận file: cho phép chọn
nơi để lưu với tên file là gì.
 Server truyền file đóng vai trị là trạm trung chuyển


5. Đăng xuất
 Client chọn chức năng đăng xuất (Log out). Thông điệp đăng xuất được gửi
đến Server, Server nhận yêu cầu và thực hiện đăng xuất cho Client.
 Gửi kết quả đăng xuất thành công đến cho Client.
 Client thốt ra lại màn hình đăng nhập.
6. Đóng kết nói đến Server
Khi Client đóng ứng dụng sẽ:
 Gửi thơng tin đóng kết nối đến Server.
 Gửi thơng điệp đồng ý cho Client đóng kết nối.

 Client nhận được thơng điệp, thực hiện đóng kết nối và tắt ứng dụng.
[Bonus] Mã hóa đường truyền giữa Client và Server
[Báo cáo] Trình bày những nội dung sau
 Phân cơng cơng việc của nhóm, ghi cụ thể công việc của mỗi người (không ghi
chung chung).
 Những hàm chức năng chính: khơng copy code vào báo cáo, chỉ báo cáo tên hàm,
các tham số cần truyền vào, chức năng của hàm, kết quả là gì sau khi gọi hàm.
 Chụp hình cách chạy chương trình và kết quả chạy được.
 Chức năng làm được và chưa được. Mức độ hoàn thành (%).
[Quy định nộp bài và đặt tên file]
1. Tổ chức folder: Tên thư mục cha là MSSV1_MSSV2_MSSV3
 src: chức source của chương trình
 report: chứ báo cáo
 exe: chứa file
2. Nén lại và nộp trên Moodle



Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×