Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 36 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
36
Dung lượng
2 MB
Nội dung
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG VIỆT - HÀN KHOA KHOA HỌC MÁY TÍNH ĐỒ ÁN CƠ SỞ ĐỀ TÀI: ỨNG DỤNG MESSENGER SỬ DỤNG TCP/IP SOCKET Sinh viên thực Giảng viên hướng dẫn Lớp : VÕ ĐẠI VIỆT ĐỨC : THS NGUYỄN ĐỖ CÔNG PHÁP : 18IT2 Đà Nẵng, tháng 01 năm 2021 TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG VIỆT - HÀN KHOA KHOA HỌC MÁY TÍNH ĐỒ ÁN CƠ SỞ ĐỀ TÀI: ỨNG DỤNG MESSENGER SỬ DỤNG TCP/IP SOCKET Đà Nẵng, tháng 01 năm 2021 MỞ ĐẦU Giao tiếp yếu tố đảm bảo cho tồn phát triển xã hội, tập hợp mối quan hệ người với người tác động qua lại với Xã hội khơng thể tồn người khơng có mối quan hệ gắn bó với Sự giao tiếp ngày mở rộng, khơng cịn giới hạn vùng miền, quốc gia, hay lục địa Cùng với phát triển công nghệ thông tin cầu sử dụng ứng dụng giao tiếp ngày tăng cao dẫn đến việc cần thiết tạo ứng dụng giao tiếp Với ứng dụng giao tiếp, cụ thể trị chuyện, nhắn tin, lập trình Socket với giao thức TCP/IP đảm bảo cho việc truyền thông tin cách đáng tin cậy thứ tự Chính lý nên em định chọn đề tài “ỨNG DỤNG MESSENGER SỬ DỤNG TCP/IP SOCKET” LỜI CẢM ƠN Để hoàn thành đồ án này, em nhận hỗ trợ, giúp đỡ thầy cô nhà trường Em xin bày tỏ long biết ơn sâu sắc đến tất quý thầy cô dạy dỗ, tạo điều kiện giúp đỡ em q trình phát triển hồn thành đề tài Đặc biệt em xin chân thành cảm ơn thầy Nguyễn Đỗ Công Pháp - giảng viên hướng dẫn môn Đồ án sở quan tâm giúp đỡ dạy em trình thực đề tài thời gian qua Bài báo cáo em khơng thể hồn thành tốt khơng có hướng dẫn tận tình giáo viên hướng dẫn Vì kinh nghiệm kiến thức chuyên ngành hạn chế nên đồ án tránh khỏi thiếu sót, hạn chế Em mong nhận bảo, đóng góp ý kiến q thầy để em bổ sung kiến thức hồn thiện kỹ Một lần cho phép em xin chân thành cảm ơn thầy giáo, giáo khoa Khoa học máy tính tận tình dạy dỗ, giúp đỡ để em hoạn thành Đồ án sở này! NHẬN XÉT (Của giảng viên hướng dẫn) Tinh thần thái độ sinh viên trình làm đề tài: Đánh giá chất lượng đề tài (so với nội dung yêu cầu đề nhiệm vụ đề tài): Ngày… tháng… năm 2021 GIẢNG VIÊN HƯỚNG DẪN (Ký, ghi rõ họ tên) MỤC LỤC Trang MỞ ĐẦU Chương Giới thiệu 10 1.1 Tổng quan 10 1.2 Mục tiêu 10 1.3 Phương pháp, ngôn ngữ công cụ 10 Chương Nghiên cứu tổng quan 11 2.1 Các phương pháp .11 2.1.1 Socket gì? 11 2.1.2 Giao thức TCP/IP gì? 11 2.1.3 Giao thức UDP gì? 12 2.2 Ngơn ngữ lập trình Java Platform JavaFX 12 2.2.1 Ngôn ngữ lập trình Java 12 2.2.2 Platform JavaFX 16 2.3 Công cụ lập trình Quản trị sở liệu 16 2.3.1 IntelliJ IDEA 16 2.3.2 Scene Builder 2.0 16 2.3.3 Quản trị sở liệu 17 2.4 Hạn chế, tồn phương pháp .18 2.5 Kết luận 18 Chương Phân tích thiết kế hệ thống 19 3.1 Mơ hình Client-Server .19 3.2 Phân tích thiết kế hệ thống 20 3.2.1 Xác định tác nhân (Actor): 20 3.2.2 Xác định trường hợp sử dụng: 20 3.2.3 Đặc tả trường hợp sử dụng 21 3.3 Thiết kế Cơ sở liệu 27 3.3.1 Bảng User .27 3.3.2 Bảng Danh sách tất trò chuyện 27 3.3.3 Bảng Danh sách tất tin nhắn .28 3.3.4 Bảng thông tin Server 28 3.4 Sự liên kết bảng 29 Chương Triển khai xây dựng 31 4.1 Cài đặt 31 4.2 Demo 33 Chương Kết luận Hướng phát triển 35 5.1 Kết luận 35 5.2 Hướng phát triển .35 DANH MỤC TÀI LIỆU THAM KHẢO 36 DANH MỤC CÁC BẢNG Trang Bảng So sánh TCP UDP 18 Bảng Sự kiện đăng ký 21 Bảng Biểu đồ Use case Đăng ký 22 Bảng Sự kiện đăng nhập 23 Bảng Biểu đồ Use case Đăng nhập 23 Bảng Sự kiện tạo trò chuyện 25 Bảng Xóa trị chuyện 25 Bảng user 27 Bảng list_convo .28 Bảng 10 messages 28 Bảng 11 server_running 29 DANH MỤC HÌNH Trang Hình Socket mơ hình tham chiếu có kiến trúc phân tầng .11 Hình Java 13 Hình Quá trình biên dịch Java 14 Hình Biểu đồ Use Case tổng quan 21 Hình Use case Thay đổi thông tin cá nhân 24 Hình User case Tạo trò chuyện .25 Hình Use case Xóa trị chuyện 26 Hình Sự liên kết bảng user bảng messages .29 Hình Sự liên kết bảng list_convo bảng messages .30 Hình 10 Giao diện làm việc Intellij IDEA 31 Hình 11 Giao diện làm việc Scene Builder 2.0 31 Hình 12 Giao diện Xampp .32 Hình 13 Giao diện làm việc Navicat 32 Hình 14 Server running 33 Hình 15 Có Client kết nối 33 Hình 16 Giao diện đăng ký đăng nhập 34 Hình 17 Giao diện Client 34 DANH MỤC CỤM TỪ VIẾT TẮT STT Cụm từ Công nghệ phần mềm Công nghệ thông tin Transmission Control Protocol Internet Protocol User Datagram Protocol Open Systems Interconnection Java Virtual Machine Java Runtime Environment Viết tắt CNPM CNTT TCP IP UDP OSI JVM JRE Chương Giới thiệu 1.1 Tổng quan Việc giao tiếp sống người điều cần thiết quan trọng Có giao tiếp, xã hội phát triển Bên cạnh đó, nhiều nhu cầu khác người nhu cầu quan tâm, nhu cầu thơng tin, nhu cầu hịa nhập, nhu cầu thừa nhận,… thỏa mãn trình giao tiếp Hãy thử hình dung xem, thân tự giam phịng ngày, khơng giao tiếp với ai, khơng dùng điện thoại, tivi, máy tính? Đặc biệt năm 2020 vừa đại dịch COVID-19 bùng phát khiến nhiều người phải nhà, khiến cho nhu cầu sử dụng ứng dụng giao tiếp tăng cao Chính yếu tố mong muốn thử thách thân, mong muốn tạo ứng dụng giao tiếp desktop muốn hiểu thêm Socket Java nên em định xây dựng ứng dụng messenger với TCP/IP socket 1.2 Mục tiêu - Xây dựng thành công ứng dụng messenger cho phép người dùng giao tiếp với nhau, giao tiếp 1-1 1-n(group chat) - Người dùng gửi văn bản, ảnh, file, sticker cho 1.3 Phương pháp, ngôn ngữ công cụ a) Phương pháp: - Socket TCP/IP Java b) Ngơn ngữ lập trình: - Java - Platform JavaFX c) Công cụ sử dụng: - Intellij IDEA - Scene Builder 2.0 - Xampp (database) - Navicat (phần mềm quản lý sở liệu) 10 Ca sử dụng Đăng ký thành viên biểu diễn biểu đồ sau: Bảng Biểu đồ Use case Đăng ký 3.2.3.2 Đăng nhập Các tác nhân: Thành viên Điều kiện trước: Người vào hệ thống đăng ký thành viên hệ thống Điều kiện sau: Tên mật thành viên hợp lệ, đăng nhập thành công Mô tả: Người dùng nhập đăng nhập mật khẩu, hệ thống cho phép đăng nhập thành công thành viên hệ thống Các kiện chính: Hành động tác nhân Hành động hệ thống Thành viên chọn chức 2.Hệ thống hiển thị form đăng nhập đăng nhập 4.Hệ thống kiểm tra tên mật 3.Thành viên nhập tên mật khẩu thành viên có hợp lệ vào form đăng nhập không Các kiện phụ: Hành động tác nhân Hành động hệ thống 22 3.Thành viên đăng nhập lại mật5 4.Hệ thông báo nhập sai thông tin, tài khoản khơng hiển thị u cầu nhập lại xác Bảng Sự kiện đăng nhập Ca sử dụng Đăng nhập biểu diễn biểu đồ sau: Bảng Biểu đồ Use case Đăng nhập 3.2.3.3 Thay đổi thông tin cá nhân Tác nhân: Thành viên (người dùng hện đăng nhập) Điều kiện trước: Người dùng đăng nhập Điều kiện sau: Người dùng muốn thay đổi thông tin cá nhân Mô tả: Người dùng click vào avatar, thay đổi thơng tin sau bấm xác nhận Các kiện chính: Hành động tác nhân Hành động hệ thống 1.Người dùng kích vào avatar chọn 2.Hệ thống hiển thị form để điền thay đổi thông tin cá nhân thông tin cần thay đổi 3.Xác nhận thay đổi 4.Hệ thống nhận liệu, tiến hành update vào csdl Các kiện phụ: Hành động tác nhân Hành động hệ thống 23 Nhập sai định dạng thông tin 4.Hiển thị thông báo yêu cầu nhập lại Bảng Sự kiện thay đổi thông tin cá nhân Hình Use case Thay đổi thơng tin cá nhân 3.2.3.4 Tạo trò chuyện Tác nhân: Thành viên (người dùng hện đăng nhập) Điều kiện trước: Người dùng đăng nhập Điều kiện sau: Người dùng muốn tạo trò chuyện đối tượng cần thêm vào trò chuyện phải tồn Mô tả: Người dùng click vào nút tạo trò chuyện, nhập tên đối phương, nhập lời nhắn sau bấm xác nhận Các kiện chính: Hành động tác nhân Hành động hệ thống 1.Người dùng kích vào nút thêm 2.Hệ thống hiển thị form để tạo cuộc trò chuyện trò chuyện 3.Người dùng nhập tên người dùng 4.Hệ thống hiển thị danh sách người lại trò chuyện dùng có tên gần giống Người dùng chọn, sau nhập Hệ thống nhận liệu, tiến hành lời nhắn bấm OK tạo trò chuyện, thêm vào danh sách trị chuyện có lưu tất liệu cần thiết vào sở liệu Các kiện phụ: 24 Hành động tác nhân Hành động hệ thống Nhập sai tên người dùng 4.Không hiển thị danh sách người dùng chưa tạo không cho phép nút OK hoạt động Bảng Sự kiện tạo trò chuyện Hình User case Tạo trị chuyện 3.2.3.5 Xóa trò chuyện Tác nhân: Thành viên (người dùng hện đăng nhập) Điều kiện trước: Cuộc trò chuyện tồn Điều kiện sau: Xóa trị chuyện Mơ tả: Người dùng click vào nút xóa trị chuyện sau xác nhận Sau thực hành động khôi phục Các kiện chính: Hành động tác nhân Hành động hệ thống 1.Người dùng kích vào nút xóa 2.Hệ thống hiển thị thơng báo u trị chuyện cầu xác nhận để xóa trị 3.Người dùng xác nhận muốn xóa chuyện trị chuyện 4.Hệ thống thực xóa trị chuyện tất liệu liên quan đến trị chuyện CSDL Bảng Xóa trị chuyện 25 Hình Use case Xóa trị chuyện 3.2.3.6 Nhắn tin, gửi file, hình ảnh… Tác nhân: Thành viên (người dùng) Điều kiện trước: Cuộc trò chuyện tồn Điều kiện sau: Hiện thị thêm nội dung trò chuyện Mơ tả: Người dùng chọn trị chuyện, nhập tin nhắn chọn gửi file, hình ảnh… Sau click Gửi Enter 26 3.3 Thiết kế Cơ sở liệu 3.3.1 Bảng User User THUỘC TÍNH STT KIỂU DỮ LIỆU MÔ TẢ int Mã người dùng, trường khóa tự động tăng id email varchar Email người dùng phone varchar Số điện thoại người dùng First_name varchar Tên last_name varchar Họ tên lót password varchar Mật avatar longblob Avatar birthday varchar Sinh nhật gender int Giới tính, => nam, => nữ Bảng user 3.3.2 Bảng Danh sách tất trò chuyện List_convo STT THUỘC TÍNH KIỂU DỮ LIỆU MƠ TẢ id_convo int Mã trị chuyện, trường khóa tự động tăng type_convo int Mã loại, => private, = group list_user varchar Danh sách người dùng trò chuyện, cách dấu “,” 27 last_message varchar Tin nhắn cuối trò chuyện id_last_sender varchar Id người gửi tương ứng với last_message Bảng 10 list_conversation 3.3.3 Bảng Danh sách tất tin nhắn Messages STT THUỘC TÍNH KIỂU DỮ LIỆU MƠ TẢ MID int ID tin nhắn id_convo int Mã trò chuyện chứa tin nhắn message longtext Nội dung tin nhắn Message_content varchar Loại tin nhắn image longBlob Dữ liệu ảnh dạng Blob file longblob Dữ liệu file audio longblob Dữ liệu âm sticker blob id_sender Dữ liệu sticker int ID người gửi Bảng 11 messages 3.3.4 Bảng thông tin Server Bảng server_running dùng để client lấy thông tin địa cổng mà server chạy, phía client không cần phải nhập thông tin sử dụng 28 Server_running STT THUỘC TÍNH KIỂU DỮ LIỆU host varchar port int MÔ TẢ Địa IP server Số cổng Bảng 12 server_running 3.4 Sự liên kết bảng Hình Sự liên kết bảng user bảng messages 29 Hình Sự liên kết bảng list_convo bảng messages 30 Chương Triển khai xây dựng 4.1 Cài đặt - Intellij IDEA Hình 10 Giao diện làm việc Intellij IDEA - Scene Builder 2.0 Hình 11 Giao diện làm việc Scene Builder 2.0 31 - Xampp Hình 12 Giao diện Xampp - Navicat (phần mềm quản lý sở liệu) Hình 13 Giao diện làm việc Navicat 32 4.2 Demo Hình 14 Server running Hình 15 Có Client kết nối 33 Hình 16 Giao diện đăng ký đăng nhập Hình 17 Giao diện Client 34 Chương Kết luận Hướng phát triển 5.1 Kết luận Báo cáo đồ án trình bày kiến thức thành phần để xây dựng ứng dụng trò chuyện sử dụng TCP Socket Java Sự giao tiếp hai người dùng hai Client giao tiếp hai máy tính mà Server, nơi có nhiệm vụ nối kết, tạo đường truyền cho liệu đến đích thơng qua mạng internet TCP Socket thực tốt việc giao tiếp máy tính với cách xác, bảo tồn liệu thứ tự, đặc biệt với ứng dụng messenger Qua việc nghiên cứu xây dựng đề tài củng cố cho em kiến thức Java nói chung JavaFX nói riêng, đặc biệt kiến thức TCP/IP Socket Java Vì thời gian có hạn nên ứng dụng messenger khơng thể tránh khỏi số khuyết điểm giao diện chưa đẹp, hiệu suất chưa cao… Để chương trình sử dụng thực tế cần nhiều thời gian nghiên cứu giải vấn đề gặp phải, thực ý tưởng để nâng cao tốc độ, hiệu suất độ xác chương trình 5.2 Hướng phát triển Vì đề tài xây dựng số chức ứng dụng messenger nhắn tin, gửi file, ảnh, stiker nên hướng phát triển tương lai là: - Xây dựng chức gọi thoại, gọi video - Xây dựng chức đăng story - Xây dựng chức trò chuyện ngẫu nhiên (chat với người lạ) 35 DANH MỤC TÀI LIỆU THAM KHẢO Tìm hiểu giao thức TCP UDP (viblo.asia) JavaFX Lịch sử gì? (greelane.com) Tổng quan ngơn ngữ lập trình java | TopDev Xây dựng ứng dụng Client-Server với Socket Java | TopDev 36