2.2.1 Khi User đăng nhập và đăng xuấtKhi 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.. Nếu đăng nhập thành công, Server sẽ lấy danh sá
Trang 1LỜ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áonà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 ơnchâ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ớivố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êncứ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ôngtránh khỏi những sai sót, kính mong nhận được những ý kiến đóng góp từ thầy
Trang 2NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN
………
………
………
………
………
………
………
………
………
………
………
………
………
………
TPHCM, Ngày……Tháng……Năm 2018
Ký tên
Trang 34.3 Quy trình user đăng xu tấ
4.4 Quy trình chat ho c nh n file gi a các userặ ậ ữ
Trang 4M 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 nhanhchó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
Trang 5Chươ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.ữ ự ề ể ủ ộ ạ
Trang 6M 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ấ ọ ặ ư ữ ệ
2.2 Mô Hình T ng Th ổ ể
Trang 7a Mô hình k t n i ế ố
T i phía server :ạ
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.ầ ầ ế ố
Trang 8V phía Client, n u k t n i đề ế ế ố ược ch p nh n, m t c m đấ ậ ộ ổ ắ ượ ạc t o thànhcông và Client có th s d ng c m đ giao ti p v i chể ử ụ ổ ắ ể ế ớ ương trình ch ủ
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.ầ ủ ạ
Trang 92.2.1 Khi User đăng nhập và đăng xuất
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
Trang 12M c 4 Quy Trình Đáp Tr Client – Server ụ ả 4.1 Quy Trình Đăng ký
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
gửi lên server
Kiểm tra có username không, nếu có gửicode 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
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ế ố ậ ặ
Khi client thoát kh iỏ 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 ặ ậ ữ
Trang 13 Client đã k t n i, đăng nh p ho c đăng ký thành côngế ố ậ ặ
Khi user g i m t file cho user khácử ộ 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
Trang 14M 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
Trang 15 Form server
Form Client
Trang 165.4 X Lý ử
Khi client nh n k t n i ấ ế ố
Trang 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ỗ
Trang 18 Khi client Thoát ra
Trang 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ộ ộ ứ ụ ế ố ấ ạ
Trang 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ậ ậ ẩ
Trang 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ậ ậ
Trang 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ố ậ
Trang 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ế ố
Trang 24 G i file trử ường h p đ ng ý nh n fileợ ồ ậ
Trang 25 Trường h p t ch i nh n file và kích thợ ừ ố ậ ước file quá l n và g i t i “All”ớ ử ớ
Trang 26 G i tin nh n khi chat ALL groupử ắ
Trang 27 Và m t s câu l nh không xuât hi n trong b ng thông báoộ ố ệ ệ ả
Trang 28K T LU N Ế Ậ
K t qu đ t đế ả ạ ược
Đ tài “Yahoo Chat” đã th c hi n đề ự ệ ược các n i dung sau:ộ
Tìm hi u để ược cách th c l p trình Socket và l p trình đa lu ng trên ứ ậ ậ ồmôi trường NET
Tìm hi u để ược cách th c ho t đ ng c a m t chứ ạ ộ ủ ộ ương trình Chat đ nơ
gi n.ả
G i file và chat groupử
Nhược đi m c a chể ủ ương trình:
Ch a g i kèm các hình nh khi Chat.ư ở ả
Ch h tr Chat Text đ n thu n.ỉ ổ ợ ơ ầ
Hướng phát tri nể
V c b n, nghiên c u đã đ t đề ơ ả ứ ạ ược nh ng yêu c u đã đ t ra Tuy nhên n u cóữ ầ ặ ế
đi u ki n, đ án sẽ c g ng phát tri n thêm các ch c năng sau:ề ệ ồ ố ắ ể ứ
H tr g i hình nh khi Chatỗ ợ ở ả
Đ nh d ng font ch khi chatị ạ ữ
H tr ch c năng Voice Chat và Webcam.ỗ ợ ứ
TÀI LI U THAM KH OỆ Ả
Các trang Web
http://vietjack.com/cplusplus/da_luong_multithread_trong_cplusplus.jsp
https://voer.edu.vn/m/xay-dung-ung-dung-client-server-voi-socket/c8be33e3 https://yinyangit.wordpress.com/2009/12/04/java-l%E1%BA%ADp-trinh-m
%E1%BA%A1ng-v%E1%BB%9Bi- socket/
http://o7planning.org/vi/10393/huong-dan-lap-trinh-java-socket