Đồ án Chat qua mạng bằng Java

17 3.6K 16
Đồ án Chat qua mạng bằng Java

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Đồ án Chat qua mạng được viết bằng ngôn ngữ lập trình Java có tính năng như Yahoo, chơi cờ caro qua mạng... Hướng dẫn cài đặt: Khởi động server, sau đó đăng ký tài khoản chat, add friend và tiến hành chat. Xem demo tại: https://www.youtube.comwatch?v=k1U2gUN82z4 Đồ án chat được xây dựng bằng ngôn ngữ lập trình java. Mô hình Client Server, có thể chat nhiều client cũng như các tính năng thay đổi avatar, emotions, chơi caro với bạn chat.

ĐẠI HỌC QUỐC GIA TP.HCM TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN BÁO CÁO CUỐI KÌ Môn: Lập Trình Java Đề Tài: GVHD: Nhóm thực hiện: - Lê Thị Hường - 10520528 - Nguyễn Hồng Ngọc - 10520426 - Nguyễn Ngọc Bảo Châu - 10520498 Tp.HCM, ngày 31 tháng 05 năm 2012. LỜI MỞ ĐẦU Ngày nay, cùng với sự phát triển của đất nước, các ngành khoa học, ngành công nghệ thông tin, đặc biệt là lĩnh vực mạng, internet đang phát triển với tốc độ rất lớn. Mạng máy tính ra đời đã giải quyết rất nhiều nhu cầu của con người…trong đó có loại hình truyền thông CHƯƠNG TRÌNH LAN CHAT thao qua mạng, con người có thể kết nối, nói chuyện gặp gỡ trên mọi nơi, mọi khoản cách thông qua rất nhiều ứng dụng như skype, yahoo messenger. Do vậy, với mục tiêu mô phỏng mô hình này nhằm cung cấp một cái nhìn tổng quát nhất về đặc tính kỹ thuật, cách xây dựng một chương trình cung cấp khả năng giao tiếp qua mạng cho con người…chúng em xin thực hiện đề tài: “Chương trình Lan Chat” bằng ngôn ngữ Java trên nền được viết bằng NetBeans IDE. Do khá mới mới mẻ Lập trình Java nên sẽ không tránh khỏi sai sót, rất mong nhận được sự góp ý của các thầy cô. Chúng em xin chân thành cảm ơn. Nhóm thực hiện. LỜI CẢM ƠN Nhóm thực hiện. NHẬN XÉT (Của giảng viên hướng dẫn) … MỤC LỤC Mở đầu Số trang I. GIỚI THIỆU SƠ LƯỢC VỀ ĐỀ TÀI. 1. Giới thiệu: Tự viết nhé. 2. Mục tiêu: Tự viết nhé. 3. Các chức năng chính: • Đăng ký User. • Chat giữa nhiều client với nhau (text, emotions). • Chat Group. • Tin nhắn offline. • Thay đổi giao diện. • Thay đổi avatar. • Gửi, nhận file. • Chơi caro. II. PHÂN TÍCH YÊU CẦU. Tự viết nhé. III. CÁC BƯỚC THIẾT KẾ CHƯƠNG TRÌNH LAN CHAT. 1. Kiến trúc chương trình: LTW_C24 Trang 6 1.1. Mô hình client server: 1.2. TCP Socket - Socket = IP + Port. - IP: Địa chỉ IP của một máy tính trên mạng TCP/IP. - Port: một số nguyên 2 byte không dấu. - Máy truyền và máy nhận thiết lập một kết nối TCP trên cặp socket. - Máy truyền và máy nhận thiết lập một kết nối TCP trên cặp socket. - Sau khi hoàn tất quá trình thiết lập kết nối, hai máy tính có thể truyền / nhận dữ liệu. - Hỗ trợ: point-to-point. - Classes: LTW_C24 Trang 7 o ServerSocket: “lắng nghe” yêu cầu kết nối. o Socket: truyền / nhận dữ liệu. 1.3. Mô hình hoạt động của chương trình. 1.3.1. Truyền thông client và server - Client gửi username, password lên cho server. Sever kiểm tra trong “scr\UserProfile\tên user\pass.txt”. nếu sai password hoặc không tồn tại folder “tên user” sẽ thông báo về cho client, ngược lại client được phép đăng nhập và mở FriendList_Frame - Nếu client check vào “Invisible” thì server không thông báo online cho toàn mạng nhưng vẫn lưu vào 1 mảng User_Socket (lưu username và socket của client). - Khi 1 user đã đăng nhập với nickname abc. Hiển nhiên, thử đăng nhập tiếp với username abc => thông báo user này đang online. 1.3.2. Truyền thông client-client thông qua server LTW_C24 Trang 8 1.4. Mô tả và giải thích xử lý các lớp, đối tượng chính phục vụ cho hoạt động của chương trình: 1.4.1. Server - Class Server_Chat gồm nhiều function để chạy server, chờ kết nối từ client và handle kết nối ấy. Function search tiến hành tìm kiếm trong mảng user đã đăng nhập trả về user+socket, sau dó dùng gửi thông diệp theo socket này. Vì vậy người gửi chỉ cần biết nickname của bạn chát là được. - Class Send_Object và user_socket viết dưới dạng thread để có thể thực hiện nhiều thao tác gửi và nhận dữ liệu song song. 1.4.2. Client - Class ConnectToServer cấu hình các thông số kết nối với server như IP, Port lắng nghe trên server. - Class Friendlist_Frame là khung quản lý chính, handle các khung chat, phân phối dữ liệu nhận từ server cho đúng khung chat. Đáng lưu ý là hàm findFrame(String reciever). Hàm này thực hiện tìm frame cửa sổ chát với ai đó đã mở chưa. Nếu chưa sẽ mở frameChat mới, ngược lại set thông điệp lên frame cũ. Tất nhiên khi frameChat mới được mở sẽ lưu lại ở mảng frameList(mảng Arraylist). Khi tắt frameChat cũng remove frameChat đó đi. LTW_C24 Trang 9 - Class FrameChat hiển thị dữ liệu dạng text hoặc emotions, save message vào file. - Class Send_Object và ListenMessage tương tự phía server gửi nhận dữ liệu song song. - Class SendFile và ReceiveFile để gửi và nhận file. Được viết dạng thread có thể chạy song song với các chức năng khác. - Class WriteFile và ReadFile để đọc ghi dữ liệu như danh sách bạn bè, tin nhắn offline, lưu tin nhắn trên file. 1.4.3. Các lớp trong Package Protocol - Các lớp được implements Serializable để có thể truyền được trong mạng (ghi vào socket). Có thể ghi xuống file. 1.5. Mô tả các chức năng, xử lý dữ liệu: 1.5.1. Phân loại yêu cầu từ client LTW_C24 Trang 10 [...]... cho client Ngược lại server sẽ lưu password vào “scr\UserProfile\tên user\pass.txt” 1.5.3 Chat, gửi file giữa nhiều client với nhau - LTW_C24 Trang 11 1.5.4 Xử lý dữ liệu trên client LTW_C24 Trang 12 1.5.5 Chat Group - User sẽ gởi yêu cầu chat group User khác đồng ý chat group sẽ hiển thị trên cửa sổ chat group Đồng thời server sẽ lưu group này vào mảng để quản lí Khi 1 thành viên trong group gởi thông... được đồ án này là nhờ một phần lớn từ thầy hướng dẫn người đã giúp đỡ và tạo điều kiện cho chúng em Một lần chúng em xin chân thành cảm ơn! 7 Tài liệu tham khảo:  Slide bài học  Các bài tập hướng dẫn khi đi thực hành môn lập trình java  Các web như: o http://www.codeproject.com/ o http://diendan.congdongcviet.com/ o http://www .java2 s.com/  Ebooks: Java cook book, Java IO 2nd Edition (2006), javacore... phép chat voice, thực hiện lưu thông tin user trên database…Nhóm dự định mỗi năm sẽ cho ra một version mới kế thừa và phát huy từ versition 1.0 5 Phân công thực hiện: 6 Tổng kết: LTW_C24 Trang 16 Sau một thời gian không dài nhưng nhóm chúng em đã đoàn kết chung tay góp sức xây dựng được đồ án tương đối thành công với tên là “LAN CHAT có tính năng đa dạng và phong phú giúp hỗ trợ giao tiếp qua mạng. .. dụng cho lần mở chương trình chat lần sau Sử dụng 1 số thư viện dao diện(look and feel) để mà cho chương trình thay đổi giao diện linh động Kèm theo chức năng lưu lại giao diện đã chọn và load lại ở lần sử dụng sau - 1.5.7 Chơi caro - LTW_C24 Chức năng nâng cao mang tính giải trí, bạn sẽ mời friends chơi game, khi bạn chát đồng ý, cửa sổ đánh caro sẽ xuất hiện Tọa độ khi đánh vào ô caro sẽ được gửi đi... giao diện màn hình: 2.1 Khung quản lý: 2.2 Khung chat: 2.3 Khung chơi caro: 2.4 Gửi, nhận File: 2.5 Giao diện About Us: 2.6 Các background để người dùng lựa chọn: 3 Cài đặt và thử nghiệm: IV KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN: 1 Những khó khăn, thuận lợi khi thực hiện chương trình: • Thuận lợi:  Là chương trình cơ bản, kinh điển nhất trong lập trình mạng bằng java  Tài liệu tham khảo phong phú • Khó khăn:... liệu tham khảo phong phú • Khó khăn:  Lần đầu tìm hiểu xây dựng chương trình  Phát triển mô hình chat cơ bản thành chương trình có nhiều chức năng như: gửi file, chat group, drag and drop, chơi caro 2 Ưu điểm: o Giao diện đẹp, tiện dụng, backgroup linh hoạt o Được xây dựng dưới dạnh thread, có thể chat nhiều client, thực hiện các chức năng song song Cung cấp chương trình game thư giãn Có truyền tải . lập trình java.  Các web như: o http://www.codeproject.com/ . o http://diendan.congdongcviet.com/ . o http://www .java2 s.com/  Ebooks: Java cook book, Java IO 2 nd Edition (2006), javacore. . xin thực hiện đề tài: “Chương trình Lan Chat” bằng ngôn ngữ Java trên nền được viết bằng NetBeans IDE. Do khá mới mới mẻ Lập trình Java nên sẽ không tránh khỏi sai sót, rất mong nhận được sự. năng lưu lại giao diện đã chọn và load lại ở lần sử dụng sau. 1.5.7. Chơi caro. - Chức năng nâng cao mang tính giải trí, bạn sẽ mời friends chơi game, khi bạn chát đồng ý, cửa sổ đánh caro sẽ

Ngày đăng: 26/02/2015, 08:38

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan