1. Trang chủ
  2. » Công Nghệ Thông Tin

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

17 3,6K 16

Đ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

Thông tin cơ bản

Định dạng
Số trang 17
Dung lượng 567,19 KB

Nội dung

Đồ á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.

Trang 1

ĐẠ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:

- 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

Trang 2

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.

Trang 4

NHẬN XÉT (Của giảng viên hướng dẫn)

Trang 5

MỤC LỤC

Trang 6

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:

Trang 7

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:

Trang 8

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

Trang 9

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

Trang 10

- 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

Trang 11

1.5.2. Đăng ký User.

- Client nhập username, password (không có ký tự trắng) sau đó sẽ gửi lên server, server kiểm tra nếu username đã tồn tại sẽ gửi thông báo về 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.

Trang 12

1.5.4. Xử lý dữ liệu trên client.

Trang 13

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 điệp server sẽ gửi thông điệp cho tất cả thành viên trong nhóm

1.5.5.1. Giai đoạn 1: Mời vào group.

Trang 14

1.5.5.2. Giai đoạn 2: Gửi broadcast cho toàn group.

1.5.6. Thay đổi giao diện cho client.

Trang 15

- Chọn giao diện và đổi Tại client, chức năng nhớ theme đã sử dụng trước đó được

sử 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.

- 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 Hàm xử lý thắng thua được code trên client

Trang 16

2. Các thiết kế 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:

 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

o Cung cấp chương trình game thư giãn

o Có truyền tải emotions giúp chương trình sinh động, đẹp mắt hơn

3. Nhược điểm:

o Chưa truyền được âm thanh, video

o Chưa sử dụng database server

4. Hướng phát triển trong tương lai:

Do thời gian hạn hẹp nên còn nhiều ý tưởng nhóm chúng em chưa thực hiện được, nhóm xác định sẽ phát triển trong tương lai bổ sung nhiều chức năng hơn, cho 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:

Trang 17

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 Nhóm chúng em có thể hoàn thành đượ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.java2s.com/

 Ebooks: Java cook book, Java IO 2nd Edition (2006), javacore

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

w