Đồ án môn học lập trình mạng xây dựng ứng dụng chat theo mô hìnhclient server

46 7 0
Đồ án môn học lập trình mạng xây dựng ứng dụng chat theo mô hìnhclient   server

Đ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

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 MƠN HỌC LẬP TRÌNH MẠNG XÂY DỰNG ỨNG DỤNG CHAT THEO MƠ HÌNH CLIENT - SERVER Sinh viên thực : NGUYỄN PHƯỚC THỊNH Giảng viên hướng dẫn: THS NGUYỄN THANH CẨM Lớp : 20SE2 Đà Nẵng, tháng 10 năm 2022 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 MƠN HỌC LẬP TRÌNH MẠNG XÂY DỰNG ỨNG DỤNG CHAT THEO MƠ HÌNH CLIENT - SERVER Đà Nẵng, tháng 10 năm 2022 LỜI NÓI ĐẦU Ngày nay, ứng dụng cơng nghệ thơng tin việc tin học hóa xem yếu tố mang tính định hoạt động phủ, tổ chức, cơng ty, đóng vai trị quan trọng, tạo bước đột phá mạnh mẽ Cùng với phát triển không ngừng kỹ thuật máy tính mạng điện tử, cơng nghệ thơng tin cơng nghệ có đẳng cấp cao chinh phục hết đỉnh cao đến đỉnh cao khác Mạng Internet sản phẩm có giá trị lớn lao ngày trở nên công cụ thiếu, tảng cho truyền tải, trao đổi thơng tin tồn cầu Giờ đây, việc liên quan đến thông tin trở nên thật dễ dàng cho người sử dụng: cần có máy tính kết nối internet dịng liệu truy tìm gần lập tức… giới vấn đề mà bạn quan tâm ra, có đầy đủ thơng tin, hình ảnh chí đơi lúc có âm bạn cần… Bằng internet, thực nhiều công việc với tốc độ nhanh chi phí thấp nhiều so với cách thức truyền thống Chính điều này, thúc đẩy khai sinh phát triển thương mại điện tử phủ điện tử khắp giới, làm biến đổi đáng kể mặt văn hóa, nâng cao chất lượng sống người Trong nội trường đại học, cần có kênh giao tiếp cho sinh viên Giúp tăng hiệu làm việc học tập sinh viên Vì vậy, em thực đồ án môn học “XÂY DỰNG ỨNG DỤNG CHAT THEO MƠ HÌNH CLIENT - SERVER” LỜI CẢM ƠN Em xin gửi lời cảm ơn chân thành tới nhà trường, khoa Khoa học máy tính tận tình bảo, góp ý tạo điều kiện cho em hoàn thành đề tài nghiên cứu Đồ án mơn học “Lập trình mạng” cách tốt Em xin cảm ơn ThS Nguyễn Thanh Cẩm nhiệt tình hướng dẫn em trình thực báo cáo đề tài nghiên cứu Trong trình thực đề tài nghiên cứu, thân em cố gắng nỗ lực, nhiên khơng tránh khỏi sai sót Em mong nhận góp ý thầy giáo, từ phía hội đồng để đề tài nghiên cứu em hoàn thiện Em xin chân thành cảm ơn! Đà Nẵng, tháng 10 năm 2022 NHẬN XÉT (Của giảng viên hướng dẫn) ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… MỤC LỤC Contents Chương Cơ sở lý thuyết 1.1 Sơ lược lập trình mạng 1.1.1 Khái niệm lập trình mạng 1.1.2 Một số mơ hình mạng 1.1.3 Một số mô hình ứng dụng mạng 1.1.4 Một số giao thức mạng 1.2 Sơ lược socket 11 1.2.1 Khái niệm socket 11 1.2.2 Chức socket 11 1.2.3 Stream socket 12 1.3 Tổng quan ngơn ngữ lập trình Java 12 Chương Phân tích thiết kế hệ thống 14 2.1 Mơ hình tương tác Client Server 14 2.2 Yêu cầu hệ thống 15 2.2.1 Danh sách tác nhân 15 2.2.2 Yêu cầu phi chức 16 2.2.3 Yêu cầu chức 16 2.3 Biểu đồ ca sử dụng 17 2.3.1 Biểu đồ ca sử dụng phía Client 17 2.3.2 Biểu đồ ca sử dụng phía Server 17 2.4 Biểu đồ hoạt động 18 2.5 Biểu đồ trạng thái 20 2.6 Biểu đồ trình tự 21 2.7 Biểu đồ giao tiếp 22 Chương Chương trình demo 23 3.1 Chương trình phía Client 23 3.1.1 Màn hình Splash 23 3.1.2 Màn hình kết nối Client đến Server 23 3.1.3 Màn hình Client 24 3.1.4 Màn hình hộp chat 26 3.2 Chương trình phía Server 30 3.2.1 Màn hình Splash 30 3.2.2 Màn hình Server 32 Kết luận hướng phát triển 34 Kết luận 34 Hướng phát triển 34 TÀI LIỆU THAM KHẢO 35 DANH MỤC CÁC BẢNG Bảng – Liệt kê tác nhân 15 Bảng – Yêu cầu chức phía Client 16 Bảng – Yêu cầu chức phía Server 17 DANH MỤC HÌNH Hình – Mơ hình OSI Hình – Mơ hình TCP/IP Hình – Mơ hình Cient/Server Hình – Mơ hình P2P Hình – Nguyên lý hoạt động TCP Hình – Cấu trúc ứng dụng web 10 Hình – Giao thức HTTPS 11 Hình – Logo ngơn ngữ lập trình Java 12 Hình – Mơ hình Client/Server sử dụng TCP socket 14 Hình 10 – Biểu đồ ca sử dụng phía Client 17 Hình 11 – Biểu đồ ca sử dụng phía Server 18 Hình 12 – Biểu đồ hoạt động cho ca sử dụng gửi tin nhắn văn 19 Hình 13 – Biểu đồ hoạt động cho ca sử dụng dừng server 20 Hình 14 – Biểu đồ trạng thái cho ca sử dụng gửi tin nhắn văn 20 Hình 15 – Biểu đồ trạng thái cho ca sử dụng dừng server 21 Hình 16 – Biểu đồ trình tự cho ca sử dụng gửi tin nhắn văn 21 Hình 17 – Biểu đồ trình tự cho ca sử dụng dừng server 22 Hình 18 – Biểu đồ giao tiếp cho ca sử dụng gửi tin nhắn văn 22 Hình 19 – Biểu đồ giao tiếp ca sử dụng dừng server 22 Hình 20 – Màn hình Splash phía client 23 Hình 21 – Màn hình kết nối client đến server 24 Hình 22 – Bị từ chối truy cập trùng username 24 Hình 23 – Màn hình client 25 Hình 24 – Màn hình kết nối client đến server sau thực lưu server 26 Hình 25 – Xác nhận lời mời tham gia vào boxchat 26 Hình 26 – Boxchat tạo 27 Hình 27 – Gửi tin nhắn văn 28 Hình 28 – Gửi tệp 29 Hình 29 – Gửi emoij 30 Hình 30 – Màn hình splash phía server 31 Hình 31 – Màn hình server 32 Hình 32 – Thơng tin server 32 Hình 33 – Thống kê server 33 Hình 34 – Khởi động/Ngừng server 33 Hình 35 – Danh sách user trực tuyến 33 - Biểu đồ trạng thái cho ca sử dụng “Dừng server”: Hình 15 – Biểu đồ trạng thái cho ca sử dụng dừng server 2.6 Biểu đồ trình tự - Biểu đồ trình tự cho ca sử dụng “Gửi tin nhắn văn bản”: Hình 16 – Biểu đồ trình tự cho ca sử dụng gửi tin nhắn văn - Biểu đồ trình tự cho ca sử dụng “Dừng server”: 21 Hình 17 – Biểu đồ trình tự cho ca sử dụng dừng server 2.7 Biểu đồ giao tiếp - Biểu đồ giao tiếp cho ca sử dụng “Gửi tin nhắn văn bản”: Hình 18 – Biểu đồ giao tiếp cho ca sử dụng gửi tin nhắn văn - Biểu đồ giao tiếp cho ca sử dụng “Dừng server”: Hình 19 – Biểu đồ giao tiếp ca sử dụng dừng server 22 Chương Chương trình demo 3.1 Chương trình phía Client 3.1.1 Màn hình Splash - Sau khởi động chương trình phía Client, ứng dụng xuất Splash chào mừng người dùng đến với ứng dụng Hình 20 – Màn hình Splash phía client - Về mặt cơng nghệ, sử dụng vịng lặp for kết hợp với thuộc tính Thread.sleep(20) để tạo hiệu ứng loading đẹp mắt giúp tăng trải nghiệm người dùng 3.1.2 Màn hình kết nối Client đến Server - Người dùng nhập địa IP Port Server để kết nối 23 Hình 21 – Màn hình kết nối client đến server - Ngoài ra, người dùng bắt buộc phải nhập username để phân biệt với người dùng khác truy cập vào Server Người dùng bị từ chối truy cập username trùng với người khác truy cập vào trước Hình 22 – Bị từ chối truy cập trùng username 3.1.3 Màn hình Client - Màn hình client bao gồm: + Hiển thị username người dùng đặt 24 + Khung thơng tin góc phải gồm: địa IP port server, port client + Danh sách user khác kết nối đến server Hình 23 – Màn hình client - Ngồi ra, cịn có chức Save Server, giúp người lưu thông tin server để truy cập nhanh lần kết nối 25 Hình 24 – Màn hình kết nối client đến server sau thực lưu server 3.1.4 Màn hình hộp chat - Để thực chat, phần danh sách user hoạt động, ta chọn vào user cần tạo boxchat Để bắt đầu trò chuyện, user chọn phải xác nhận tham gia vào boxchat Hình 25 – Xác nhận lời mời tham gia vào boxchat 26 Hình 26 – Boxchat tạo - Boxchat có số tính sau: + Gửi tin nhắn văn bản: người dùng nhập nội dung cần nhắn textbox cuối boxchat sau nhấn vào icon “Gửi” màu xanh nhấn phím “Enter” bàn phím để gửi tin nhắn Tin nhắn sau gửi định dạng:     Nội dung tin nhắn Thời gian gửi tin nhắn Tin nhắn gửi có màu xanh, lề phải Tin nhắn nhận có màu xám, lề trái 27 Hình 27 – Gửi tin nhắn văn + Gửi tệp: người dùng nhấn vào icon “tệp” màu đen, sau lựa chọn tệp máy tiến hành gửi 28 Hình 28 – Gửi tệp + Gửi emoij: người dùng gửi emoij cách nhấn trực tiếp vào chúng Boxchat có emoij: like, love, smile, sad, angry 29 Hình 29 – Gửi emoij 3.2 Chương trình phía Server 3.2.1 Màn hình Splash - Sau khởi động chương trình phía Server, ứng dụng xuất Splash chào mừng người quản lý đến với ứng dụng 30 Hình 30 – Màn hình splash phía server - Về mặt cơng nghệ, sử dụng vịng lặp for kết hợp với thuộc tính Thread.sleep(20) để tạo hiệu ứng loading đẹp mắt giúp tăng trải nghiệm người dùng 31 3.2.2 Màn hình Server Hình 31 – Màn hình server - Màn hình server bao gồm: + Thông tin server gồm port địa IP, thay đổi Dùng để cung cấp cho client truy cập vào hệ thống Hình 32 – Thơng tin server 32 + Hiển thị trạng thái server (ON/OFF) số lượng user truy cập vào hệ thống Hình 33 – Thống kê server + Chức Start/Stop server, trạng thái start server mở cổng lắng nghe cho phép client truy cập Ngược lại, trang thái stop server ngừng hoạt động Hình 34 – Khởi động/Ngừng server + Liệt kê danh sách user truy cập vào hệ thống Hình 35 – Danh sách user trực tuyến 33 Kết luận hướng phát triển Kết luận Qua đề tài nghiên cứu Đồ án mơn học Lập trình mạng, em đạt số kết sau: + Về mặt lý thuyết:  Tìm hiểu kiến thức lập trình mạng  Áp dụng mơ hình mạng Client/Server, giao thức mạng TCP vào sản phẩm + Về mặt thực nghiệm:  Thiết kế thành cơng ứng dụng chat theo mơ hình Client/Server  Ứng dụng cho phép người dùng thực chức như: tạo boxchat, gửi văn bản, gửi tệp, gửi emoij, Hướng phát triển Tuy đạt số kết thời gian hạn hẹp kiến thức cịn có giới hạn nên đề tài nghiên cứu chúng em nhiều hạn chế, chúng em đề xuất số hướng phát triển tương lai sau: + Phát triển ứng dụng đảm bảo tính thẩm mỹ tăng trải nghiệm người dùng + Trau dồi kĩ lập trình để phát triển thêm nhiều module chức quan trọng thiết thực với nhu cầu xã hội 34 TÀI LIỆU THAM KHẢO https://vku.udn.vn/hinh-anh https://icons8.com/icons/ https://www.youtube.com/ https://stackoverflow.com/ https://vi.wikipedia.org/wiki/ 35

Ngày đăng: 24/08/2023, 10:23

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

Tài liệu liên quan