Tải bản đầy đủ (.docx) (29 trang)

báo cáo phần mềm yahoo chat

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 (1.12 MB, 29 trang )

LỜI CẢM ƠN

Trên thực tế không có sự thành công nào mà không gắn liền với những sự hỗ trợ, giúp đỡ
dù ít hay nhiều, dù trực tiếp hay gián tiếp của người khác.. , Để hoàn thành chuyên đề báo
cáo này trước hết em xin gửi đến quý thầy,cô giáo trong khoa Công nghệ Thông Tin lời
cảm ơn chân thành.
Đặc biệt, em xin gởi đến Thầy người đã tận tình truyền đạt kiến thức cho em học tập. Với
vốn kiến thức được tiếp thu trong quá trình học không chỉ là nền tảng cho quá trình
nghiên cứu mà còn là hành trang quí báu để em bước vào đời một cách vững chắc và tự
tin.
Em xin kính chúc quý thầy thật dồi dào sức khỏe, niềm tin để tiếp tục thực hiện sứ mệnh
cao đẹp của mình là truyền đạt kiến thức cho thế hệ mai sau.
Vì kiến thức bản thân còn hạn chế, trong quá trình hoàn thiện chuyên đề này em không
tránh khỏi những sai sót, kính mong nhận được những ý kiến đóng góp từ thầy.


NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN
………………………………………………………………………………………..
………………………………………………………………………………………..
………………………………………………………………………………………..
………………………………………………………………………………………..
………………………………………………………………………………………..
………………………………………………………………………………………..
………………………………………………………………………………………..
………………………………………………………………………………………..
………………………………………………………………………………………..
………………………………………………………………………………………..
………………………………………………………………………………………..
………………………………………………………………………………………..
………………………………………………………………………………………..
………………………………………………………………………………………..



TPHCM, Ngày……Tháng……Năm 2018
Ký tên


Mục Lục
Mục 1 Giới Thiệu Ứng Dụng
1.1 Lý do chọn đề tài
1.2 Mục đích của đề tài
1.3 Đối tượng và phạm vi nghiên cứu

Mục 2 Kiến Trúc Xử Lý
2.1 Mô hình dữ liệu
2.2 Mô Hình Tổng Thể

Mục 3 Lệnh và Thông Điệp Đáp Trả
Mục 4 Quy Trình Đáp Trả Client – Server
4.1 Quy Trình Đăng ký
4.2 Quy Trình Đăng Nhập
4.3 Quy trình user đăng xuất
4.4 Quy trình chat hoặc nhận file giữa các user

Mục 5 Kết Quả Thực Nghiệm
5.1 Mô Hình Triển Khai
5.2 Tạo cơ sở dữ liệu (database)
5.3 Giao diện
5.4 Xử Lý

3



Mục 1 Giới Thiệu Ứng Dụng
1.1

Lý do chọn đề tài
Hiện nay, mạng Lan đã có những tiến bộ vượt bậc và ngày càng phổ bi ến

hơn trong đời sống sinh hoat. Điều này làm cho nhu cầu liên lạc và trao đổi thông
tin thông qua mạng Lan ngày càng lớn hơn. Chính vì vậy, chương trình Chat trên
mạng Lan được xây dựng để đáp ứng phần nào những nhu cầu cấp thiết đó.
Chat là một hình thức kinh doanh để tiếp cận được khách hàng mục tiêu
một cách hiệu quả và nhanh chóng hơn, giúp mọi người kết n ối v ới nhau nhanh
chóng và dễ dàng hơn.
Chat là kênh trao đổi thông tin được nhiều người sử dụng, đặc bi ệt là là
giới trẻ, giúp tất cả mọi người trao đổi thông tin trên toàn thế gi ới và làm vi ệc
luôn trên internet.

1.2

Mục đích của đề tài
Yêu cầu đặt ra là xây dựng chương trình Chat hoạt động trong mạng Lan

sử dụng Socket và Multithreading đòi hỏi các chức năng nghiệp vụ sau:
 Chat giữa hai người với nhau
 Chat giữa một nhóm người
 Truyền tập tin

1.3

Đối tượng và phạm vi nghiên cứu


1.3.1 Đối tượng nghiên cứu
Tìm hiểu được cơ chế hoạt động của Socket và Thread trong .NET
Framwork từ đó viết ứng dụng Chat trong mạng Lan.
1.3.2 Phạm vi nghiên cứu

4


Chương trình Chat được xây dựng với khả năng gởi các được văn b ản qua
lại và chat giữa các user thông qua sự điều khi ển của m ột Server trong m ạng
Lan.

5


Mục 2 Kiến Trúc Xử Lý
2.1 Mô hình dữ liệu

Dữ liệu database gồm các thông tin ID, Username, Password
Khi được server truy vấn sẽ gọi thông tin trong database hoặc l ưu dữ liệu vào

6


2.2 Mô Hình Tổng Thể

a. Mô hình kết nối
 Tại phía server :


7


Thông thường, một chương trình server chạy trên một máy tính cụ th ể,
chương trình này có một ổ cắm (Server Socket), ổ cắm được ràng buộc b ởi
cổng (Port number) cụ thể. Các chương trình phục vụ (Server program)
chỉ chờ đợi, lắng nghe tại ổ cắm (Server Socket) các Client đ ể th ực hi ện
một yêu cầu kết nối.
 Tại phía client:

Các Client biết tên máy của máy tính mà trên đó chương trình ch ủ (server)
đang chạy và số cổng mà chương trình chủ lắng nghe. Đ ể th ực hi ện m ột yêu
cầu kết nối, Client cố gắng tạo ra cuộc gặp với máy chủ trên máy tính của
chương trình chủ và cổng. Các Client cũng cần phải tự định danh chính nó v ới
server để gắn với một cổng địa phương cái sẽ được sử dụng trong suốt quá
trình kết nối này, thông thường nó được gán bởi hệ điều hành.
Nếu mọi việc diễn ra bình thường, chương trình chủ (server program)
chấp nhận kết nối của client. Khi chấp nhận, máy chủ có được một socket
mới bị ràng buộc vào cùng "cổng địa phương" và thông tin đầu cu ối (remote
endpoint) của nó chính là địa chỉ và cổng của client. Nó đã tạo ra m ột socket
mới để chăm sóc Client vừa được chấp nhận kết nối, và tiếp tục lắng nghe tại
ổ cắm gốc ban đầu (ServerSocket) cho các yêu cầu kết nối khác.

Về phía Client, nếu kết nối được chấp nhận, một ổ cắm được tạo thành
công và Client có thể sử dụng ổ cắm để giao tiếp với chương trình chủ.
8


b. Mô hình xử lý thêm các xự kiện


Sau khi kêt nối thành công các Client và Server có th ể giao ti ếp b ằng cách ghi
hay đọc từ ổ cắm (Socket) của chúng.Dữ liệu ghi vào luồng đầu ra trên Socket
của client sẽ nhận được trên luồng đầu vào của Socket tại Server. Và ng ược
lại dữ liệu ghi vào luồng đầu ra trên Socket của Server sẽ nh ận được trên
luồng đầu vào của Socket tại Client.

2.2.1 Khi User đăng nhập và đăng xuất

9


Khi một User yêu cầu đăng nhập hệ thống, chương trình Client sẽ
gởi Username và Password cho Server. Server sẽ kiểm tra Username và
Password có hợp lệ hay không. Sau đó, sẽ đăng nhập vào hệ thống. Nếu
đăng nhập thành công, Server sẽ lấy danh sách bạn bè đang Online của
User và gởi cho User và cập nhật lại trạng thái đăng nhập của User. Đồng
thời cũng gởi thông báo đến các Users khác có bạn là User này mới
Online.
Khi một User đăng xuất khỏi hệ thống, Client sẽ hiển thị lại màn
hình đăng nhập và đồng thời gởi thông báo đang xuất đến Server. Server sẽ
gởi thông báo đăng xuất tới các danh sách bạn bè đang online của Users.
2.2.2 Xử lý các tin nhắn và gửi tệp
Khi người dùng nhập tin nhắn và nhấn Gửi, Client sẽ hiển thị tin
nhắn trên bảng chat, đồng thời gởi tin nhắn và tên người nhận lên cho
Server. Server sẽ gởi tin nhắn và tên người gởi. Khi nhận được tin nhắn,
Client sẽ hiển thị tin nhắn thông qua một bảng chat.
Khi người dùng chọn tập tin và nhất nút gửi, server sẽ kiểm tra dung
lượng file có lớn không, nếu lớn hơn 100MB thì sẽ thông báo và không gửi,
còn nếu nhỏ hơn 100MB thì sẽ gừi đến người nhận, nếu người nhận đồng
ý, thì file sẽ được gửi qua, người lại sẽ báo người dùng không muốn nhận.

2.2.3 Chat với tất cả mọi người
Khi User chọn “ALL” thì server sẽ ki ểm tra tất cả các user đang online, và
cho vào một group. Khi User nhập tin nhắn và nhấn gửi trong bảng chat Group,
sever sẽ kiểm tra và gởi tin nhắn cho tất cả bạn bè đang online. và g ởi tin nh ắn
kèm theo tên người gởi đến các Users này và hiện lên bảng chat.

10


Mục 3 Lệnh và Thông Điệp Đáp Trả
Bảng mã lệnh tác vụ và thông báo
 Server

Server
Code
100, 101
102
103
104, 105
106
107
108
109, 111
110
112
113
114
115
116
117

118
119

Thông Báo
Database exception
Exceptionmodify sql
Lỗi không tìm thấy database
(Exception)Ngoại lệ
Đã kết nối với tiếng trình
Lỗi đang đọc Message
Server đã khởi động
Không tìm thấy port
Đã khởi động lại server
Server đang lắng nghe
Lỗi do máy chủ không chấp nhận
Không thể Gửi tới tất cả user
Tiến trình đã thoát
Lỗi khi đóng luồng
Chấp nhận Kết nối
Lỗi mở Luồng
Từ Chối nhiều client truy cập

 Client

Client
Code
200
201
202
203

204
205
206
207
208

Thông Báo
Không tìm thấy server
Tệp có kích thước quá lớn
exception
Đã nhận file thành công
Exception Download
Exception Download run
Exception Upload
Gửi file thành công
Exception Upload : run
11


210
211
212
213
214
215
216
217
218
219, 220, 221


Đăng nhập thành công
Đăng nhập thất bại
Đăng ký thành công
Đăng ký thất bại
Tạm biệt
Đã đăng xuất
Từ chối nhận file
Loại tin nhắn không xác định
kết nối thất bại
Exception SocketClient run, Outgoing,
SocketClient send

12


Mục 4 Quy Trình Đáp Trả Client – Server
4.1 Quy Trình Đăng ký
Client

Server
Server đã khởi động có Port : 20000 và
lắng nghe client…
Client Gởi yêu cầu kết nối tới server…
Server Chấp nhận Kết nối với code 117 với
client, Server trả về kết nối thành công
với code 210
Client nhập tên đăng nhập và mật khẩu Kiểm tra có username không, nếu có gửi
gửi lên server.
code 213 Đăng ký thất bại
Ngược lại gửi code 212 Đăng ký thành

công và code 210 đăng nhập thành công

4.2 Quy Trình Đăng Nhập


Sau khi đã kết nối tới server và đăng ký thành công

Client
Server
Client nhập tên đăng nhập và mật khẩu Kiểm tra có username và đúng mật khẩu
gửi lên server.
không, nếu có gửi code 210 Đăng nhập
thành công, server sẽ trả về danh sách
đang online
Ngược lại sai tên hoặc mật khẩu, gửi code
211 đang nhập thất bại

4.3 Quy trình user đăng xuất
 Client đã kết nối, đăng nhập hoặc đăng ký thành công

Client
Khi client thoát khỏi

Server
Server sẽ kiểm tra và thông báo tới các
client code 218 user đã offline, và cập
nhật lại danh sách bạn
Server sẽ hiển thị code 115 tiến trình
đã thoát


4.4 Quy trình chat hoặc nhận file giữa các user
13


 Client đã kết nối, đăng nhập hoặc đăng ký thành công

Client
Khi user gửi một file cho user khác

Server
Server kiểm tra user đó có đang online
hay có muốn nhận file hay không và
bật thông báo code 222
Nếu user không nhận file thì sever sẽ
thông báo từ chối nhận file code 216
Trường hợp nếu user nhận file sẽ
báocode 207 gửi file thành công, và 203
nhận file thành công
Khi một file lớn hơn 100MB thì server
sẽ thông báo cho client code 201 file có
kích thước lớn

14


Mục 5 Kết Quả Thực Nghiệm
5.1 Mô Hình Triển Khai
Phần mềm được phát triển bằng ngôn ngữ lập trình Java, soạn thảo trên
NetBeans, database MySQL và WAMPSERVER


5.2 Tạo cơ sở dữ liệu (database)
 Ta phải có 1 database chatting,
 Table: user

5.3 Giao diện
 project chương trình

15


 Form server

 Form Client

16


5.4 Xử Lý


Khi client nhấn kết nối

17


 Khi server đã chạy, và client yêu cầu kết nối, server ch ấp nh ận và ti ếp tục

lắng nghe chờ kết nối với các user khác

 Khi server đã chạy rồi, ta tiếp tục chạy thêm 1 server nữa khi start lên sẽ


báo lỗi
18


 Khi client Thoát ra

19


 Ta thoát khỏi WampServer và Start server lên báo l ỗi không truy c ập đ ược

database

Nhưng server vẫn chạy được dù không kết nối database, cơ s ở dữ li ệu sẽ
được lưu trên ram và sẽ mất khi tắt máy.
 Khi server thoát đột ngột ứng dụng sẽ thông báo kết nối thất bại

20


 Đăng nhập thành công của client

 Khi user client khác đăng nhập cùng tên và mật khẩu

21


 Khi user client khác đăng ký trùng tên


 Danh sách được cập nhật khi các user khác đang nh ập

22


 Khi đổi port khác thì client sẽ thông báo

 Khi ta cho tối đa 3 user truy cập thì server sẽ thông báo

23


 Phía client sẽ thông báo không tìm thấy user

 Khi kết nối thành công và chat

24


 Gửi file trường hợp đồng ý nhận file

25


×