1. Trang chủ
  2. » Tất cả

BÁO CÁO ĐỒ ÁN4

29 0 0

Đ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

BÁO CÁO ĐỒ ÁN CƠ SỞ ĐỀ TÀI : XÂY DỰNG CHƯƠNG TRÌNH CHAT BẰNG RMI Họ tên: Lớp: Trần Thị Mỹ Phượng Mã sinh viên: 18IT095 Nguyễn Thị Thu Mai Mã sinh viên: 18IT082 18IT2 Giảng viên hướng dẫn: ThS.Hà Thị Minh Phương Đà Nẵng, ngày 22 tháng 11 năm 2020 ĐẠI HỌC ĐÀ NẴNG KHOA CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG BÁO CÁO ĐỒ ÁN CƠ SỞ ĐỀ TÀI : XÂY DỰNG CHƯƠNG TRÌNH CHAT BẰNG RMI Họ tên: Lớp: Trần Thị Mỹ Phượng Mã sinh viên: 18IT095 Nguyễn Thị Thu Mai Mã sinh viên: 18IT082 18IT2 Giảng viên hướng dẫn: ThS.Hà Thị Minh Phương Đà Nẵng, ngày 22 tháng 11 năm 2020 LỜI CẢM ƠN! Đề án hoàn thành Khoa Công Nghệ Thông Tin Truyền thông Đại học Đà Nẵng Trong q trình học tập hồn thành đồ án em nhận nhiều giúp đỡ, chúng em muốn viết lời cảm ơn đến: Chúng em xin gửi lời cảm ơn chân thành tới thầy cô Khoa Công Nghệ Thông Tin Truyền thông Đại học Đà Nẵng giảng dạy cho chúng em thời gian qua Đặc biệt Ths Hà Thị Minh Phương người trực tiếp bảo hướng dẫn em hoàn thành đồ án Bên cạnh để hồn thành đồ án em nhận lời khuyên giúp đỡ tận tình từ anh chị em bạn bè chúng em xin cảm ơn Mặc dù vận dụng tất kiến thức học tập kinh nghiệm thực tế từ thân để hồn thành đề án này, song cịn có mặt hạn chế, thiếu sót Em mong nhận ý kiến đóng góp dẫn thầy cô giáo NHẬN XÉT (Lời nhận xét GVHD) ………………………………………………………………………… ………………………………………………………………………… ………………………………………………………………………… ………………………………………………………………………… ………………………………………………………………………… ………………………………………………………………………… ………………………………………………………………………… ………………………………………………………………………… ………………………………………………………………………… ………………………………………………………………………… ………………………………………………………………………… ………………………………………………………………………… ………………………………………………………………………… ………………………………………………………………………… …………………………………… Đà Nẵng tháng 12 năm 2020 MỤC LỤC LỜI CẢM ƠN NHẬN XÉT DANH MỤC HÌNH DANH MỤC TỪ VIẾT TẮT KẾ HOẠCH THỰC HIỆN TỔNG QUAN VỀ ĐỀ TÀI 1.Lý thực đề tài Phương pháp triển khai đề tài 4 Nội dung báo cáo 5 Dự kiến kết CHƯƠNG 1: CƠ SỞ LÝ THUYẾT 1.1 Tổng quan lập trình mạng 1.2 Ngôn ngữ 1.2.1 Ngơn ngữ lập trình mạng 1.2.2 Ngôn ngữ Java 1.3.1 Công cụ hỗ trợ Eclipse CHƯƠNG PHÂN TÍCH THIẾT KẾ THUẬT TỐN 12 2.1 Nội dung toán 12 2.3 Giao thức RMI 13 2.3.1 Kiến trúc RMI 14 2.3.2 Cách hoạt động RMI .16 2.3.3 Sự phân lớp RMI 16 2.3.4 Ưu nhược điểm RMI 17 2.4 Xây dựng chương trình 17 2.4.1 Thiết kế giao diện 17 2.4.2 Xây dựng chức .19 CHƯƠNG 4: DEMO VÀ KẾT LUẬN 21 4.1 Kết đạt 21 4.2 Hạn chế 21 4.3 Hướng phát triển 21 TÀI LIỆU THAM KHẢO 22 DANH MỤC HÌN Hình Mơ hình lập trình mạng Hình Mơ hình Client Server .12 Hình Lời triệu gọi phương thức từ xa thi hành Java xa 14 Hình Giao diện lớp mơ tả giao diện .15 Hình Minh họa trình Client kêu gọi RMI 15 Hình Cách hoạt động RMI 16 Hình 10 Sự phân lớp RMI .16 Hình 11 Giao diện đăng nhập 18 Hình 12 Giao diện chat 18 Hình 13 Chức gửi tin nhắn 19 Hình 14 Chức gửi File 20 DANH MỤC TỪ VIẾT TẮT Từ Viết tắt Ý nghĩa RMI Remote Method Invoke Giao thức LAN Local Area Network Mạng cục WAN Wide Area Network Mạng diện rộng UDP User Datagram Protocol Giao thức gói liệu người dùng TCP Transmisstion Control Protocol Giao thức điều khiển truyền dẫn Internet Protocol Giao thức mạng Hypertext Transfer Protocol Giao thức truyền siêu văn Kiểm sốt truy cập mơi trường IP HTTP MAC Medium Access Control Internet ICMP IETF Protocol Internet Control truyền thông Message Giao thức thông tin điều khiển Internet Engineering Task Force Nhóm đặc trách kỹ thuật Internet ISP Internet service Providers Nhà cung cấp dịch vụ Internet QOS Quality Of Service Chất lượng dịch vụ KẾ HOẠCH THỰC HIỆN Thời gian Nội dung thực Tuần 1(Từ ngày 11/11/2020 18/11/2020) Tìm hiểu đề tài xây dựng đề cương Tuần 2(Từ ngày 18/11/2020 25/11/2020) Khảo sát thực tế lên kế hoạch thực Nội dung thực Sinh viên thực Viết chương trình: Tuần đến tuần (Từ ngày 25/11/2020 24/12/2020) 25/12/2020 - Chat nhiều client Trần Thị Mỹ Phượng - Chat Group Nguyễn Thị Thu Mai - Gửi file Trần Thị Mỹ Phượng - Gửi hình ảnh Nguyễn Thị Thu Mai Chạy thử kiểm tra khắc phục lỗi Nguyễn Thị Thu Mai Làm báo cáo kết Trần Thị Mỹ Phượng Làm báo cáo trình bày đề tài, nộp kết TỔNG QUAN VỀ ĐỀ TÀI Đề tài: Xây dựng chương trình chat RMI 1.Lý thực đề tài Như thấy, nhu cầu sử dụng thiết bị công nghệ thông tin người mức cao Nhất vấn đề trao đổi thông tin Dựa vào nhu cầu đó, phịng chat ảo đời Người dùng từ sử dụng máy tính thơng qua hình thức để gia nhập vào kênh chat room chat để thuận tiện trao đổi thơng tin với người dùng kênh chat Hình thức trao đổi thơng tin mơ hình gọi mơ hình Client-Server (Mơ hình chủ-khách) Mơ hình mơ hình tiếng mạng máy tính, áp dụng rộng rãi mơ hình trang web có Ý tưởng mơ hình máy khách gửi yêu cầu cho máy chủ để máy chủ xử lý trả kết cho máy khách Mơ hình ứng dụng rộng rãi cơng ty qn net, nơi có người dùng cần chia sẻ thơng tin cách bí mật mà khơng thơng qua Internet Trước thực tế đó, em chọn đề tài “Xây dựng ứng dụng chat đơn giản theo mơ hình Client-Server RMI” Phạm vi, đối tượng nghiên cứu Phạm vi: Đề tài hướng tới việc xây dụng ứng dụng chat đơn giản phạm vi nhỏ văn phòng hay quán net Đối tượng: Đối tượng mà đề tài hướng đến công ty thành lập hay quán net mở, nơi cần ứng dụng chat Phương pháp triển khai đề tài Về mặt lý thuyết - Tìm kiếm tài liệu liên quan - Các nạp lớp (classloader) Java tự động tải đoạn mã bên phía máy khách mơ hình nặng phía máy khách hay ứng dụng ngang hàng - Các tham số Java truyền tham chiếu hay tham trị - Nếu không ngơn ngữ Java có tất phía ứng dụng phân tán, dùng ngôn ngữ để gọi đối tượng hệ thống khác viết ngơn ngữ lập trình khác, ví dụ C++, cách sử dụng CORBA - Nền Java hỗ trợ cho nhiều kỹ thuật lập trình phân tán khác nhu mơ hình lập trình socket Ưu điểm việc tính tốn phân tán: - Tính tốn phân tán dùng có nguồn tài nguyên trung tâm, ví dụ sở liệu mà muốn chia sẻ cho nhiều người sử dụng hay nhiều máy khách - Tính tốn phân tán dùng để kết hợp sức mạnh tính tốn nhiều hệ thống để giải toán hiệu nhanh việc thực với hệ thống đơn Nhiều hệ thống máy tính cấu hình theo nhiều cách để chia sẻ xử lý, bao gồm chia sẻ nhớ, chia đĩa, chia sẻ kênh giao tiếp chung Kỹ thuật gần cho phép hệ thống mà thành phần vật lý xa hợp tác với việc giải quyểt tốn tính toán Cũng ảnh hưởng chủ đề sức mạnh tính tốn trỗi dậy mạng Internet giao thức TCP/IP kèm dẫn đến việc kết nối chưa thấy hàng triệu hệ thống máy tính Đối với vài ứng dụng cần sức mạnh tính tốn để giải tốn 1.3 Công cụ thư viện hỗ trợ 1.3.1 Công cụ hỗ trợ Eclipse Eclipse công cụ hỗ trợ lập trình mã nguồn mở phát triển IBM Eclipse môi trường phát triển Java tích hợp (IDE), với Eclipse mở rộng mã nguồn cách chèn thêm plugins cho project (PDEPlug-in Development Environment) Mặc dù Eclipse viết ngơn ngữ lập trình Java, việc sử dụng khơng hạn chế cho ngơn ngữ Java Ví dụ, Eclipse hỗ trợ sẵn cài thêm plugins để hỗ trợ cho ngôn ngữ lập trình C/C + + COBOL Ngồi ra, cịn nhiều ngôn ngữ khác PHP, Groovy, Eclipse cịn hỗ trợ cho lập trình viên code theo mơ hình phát triển MVC, tạo thêm lib hỗ trợ phát triển phần mềm Ưu điểm - Tạo thuận lợi cho tích hợp liền mạch cơng cụ bên xuyên qua nhiều kiểu nội dung nhà cung cấp công cụ khác - Hỗ trợ việc xây dựng nhiều công cụ - Hỗ trợ tập hợp không hạn chế nhà cung cấp công cụ, bao gồm nhà cung cấp phần mềm độc lập (ISV) - Hỗ trợ công cụ thao tác kiểu nội dung (bao gồm HTML, Java, C, JSP, EJB, XML, GIF) - Hỗ trợ môi trường phát triển ứng dụng GUI lẫn không dựa GUI - Chạy nhiều hệ điều hành, bao gồm Windows Linux - Lợi dụng tính phổ biến ngơn ngữ Java để viết công cụ - Do sử dụng SWT/JFace nên có lẽ load nhanh Nhược điểm - Cài đặt phức tạp - Tốn phần cứng máy Eclipse tốn nhớ máy để cài đặt nên eclipse khắc phục phiên Eclipse Luna, không cần đặt 10 - Tốn nhớ máy: chạy eclipse tốn nhớ máy tính nên để sử dụng máy bạn cần có cấu hình tương đối cao - Thiếu tính qn có nhiều plugins q 1.3.2 Thư viện hỗ trợ Việc lập trình mạng phụ thuộc nhiều vào thư viện hỗ trợ đến từ hệ thống Tùy thuộc vào tảng phát triển ứng dụng mà sử dụng thư viện khác Java hỗ trợ lớp cần thiết để cài đặt ứng dụng Client-Server theo kiểu RMI gói: java.rmi Trong số lớp thường dùng là: - java.rmi.Naming - java.rmi.RMISecurityManager - java.rmi.RemoteException; - java.rmi.server.RemoteObject - java.rmi.server.RemoteServer - java.rmi server.UnicastRemoteObject 11 CHƯƠNG PHÂN TÍCH THIẾT KẾ THUẬT TỐN 2.1 Nội dung tốn Đề tài tìm hiểu giao thức RMI, xây dựng chương trình trao đổi thơng tin dựa giao thức RMI Chương trình trao đổi thông tin qua giao thức RMI: sử dụng theo mô hình client- server giao tiếp với qua giao thức RMI ngơn ngữ lập trình Java, sử dụng Java Eclipes Xây dựng chương trình chat hồn thiện với chức năng: - Chat nhiều client - Chat Group - Gửi file - Gửi hình ảnh 2.2 Mơ hình Client/Server Mơ hình Client/Server kỹ thuật tính tốn mới, trơng Client đơn giản đối tượng cần phuc vụ, thông thường ứng dụng cần đến liệu hay dịch vụ từ chương trình khác Server đối tượng phục vụ yêu cầu nhiều Client gửi đến 12 Hình Mơ hình Client Server Máy tính đóng vai trị máy chủ – Server: Là máy tính có khả cung cấp tài ngun dịch vụ đến máy trạm khác hệ thống mạng Server đóng vai trị hỗ trợ cho hoạt động máy trạm client diễn hiệu Máy tính đóng vai trị máy trạm – Client: Với vai trị máy trạm, chúng khơng cung cấp tài nguyên đến máy tính khác mà sử dụng tài nguyên cung cấp từ máy chủ Một client mơ hình server cho mơ hình khác, tùy thuộc vào nhu cầu sử dụng người dùng Để máy khách máy chủ giao tiếp với chúng phải có chuẩn định, chuẩn gọi giao thức Một số giao thức chuẩn sử dụng rộng rãi TCP/IP, OSI, ISDN, X.25, Lan-to-Lan, Khi đó, máy khách muốn lấy thông tin từ máy chủ, chúng phải tuân theo giao thức mà máy chủ đưa Nếu u cầu chấp nhận máy chủ thu thập thông tin trả kết cho máy khách yêu cầu Bởi thông thường, server trạng thái sẵn sàng nhận yêu cầu từ client, nên cần client gửi tín hiệu chấp nhận yêu cầu server trả kết thời gian ngắn 13 Việc ứng dụng mơ hình Client/Server làm giảm chi phí, đồng thời làm tăng tốc dộ, điều cần thiết trông việc truy cập liệu 2.3 Giao thức RMI RMI (Remote Method Invoke)– triệu gọi phương thức từ xa - công nghệ SUN giới thiệu JDK 1.1 (2/1997) mở thời kì cho lĩnh vực lập trình mạng Được thiết kế tương đối dễ sử dụng RMI công nghệ mạnh, cung cấp đầy đủ công cụ để người lập trình phát triển ứng dụng phân tán cách tốt Hình Lời triệu gọi phương thức từ xa thi hành Java xa Mục đích việc thiết kế RMI cho phép người lập trình phát triển chương trình phân tán Java với cú pháp ngữ nghĩa giống lập trình thơng thường Để làm việc này, họ ánh xạ lớp đối tượng làm việc máy ảo Java đơn thành lớp đối tượng làm việc môi trường phân tán 2.3.1 Kiến trúc RMI Kiến trúc RMI dựa nguyên lý quan trọng: định nghĩa hành vi việc mô tả hành vi hai khái niệm riêng biệt RMI chấp nhận mã định 14 nghĩa hành vi mã mô tả hành vi tách rời chạy máy ảo Java độc lập Điều cần làm hệ thống phân tán máy khách định nghĩa dịch vụ mong muốn máy chủ nơi cung cấp dịch vụ Trong RMI, việc định nghĩa dịch vụ từ xa viết interface Java Mô tả chi tiết dịch vụ từ xa viết lớp - class Yếu tố cần hiểu RMI là: giao diện định nghĩa hành vi đối tượng từ xa lớp mô tả định nghĩa Hình Giao diện lớp mơ tả giao diện Một giao diện không chứa mã thực thi RMI hỗ trợ hai lớp mô tả giao diện giống Lớp thứ mô tả hành vi chạy server Lớp thứ hai hoạt động đối tượng trung gian cho dịch vụ từ xa chạy Client Biểu đồ minh họa 15 Hình Minh họa trình Client kêu gọi RMI Một chương trình Client thực lời gọi phương thức thông qua đối tượng trung gian (proxy), RMI gửi đến máy ảo từ xa từ đến đối tượng mơ tả Bất kì giá trị trả tạo đối tượng mô tả gửi trở proxy sau proxy chyển đến chương trình máy khách 2.3.2 Cách hoạt động RMI - Các server RMI phải đăng ký với dịch vụ tra cứu (lookup service, Remote Registry Server), phép clients tìm thấy chúng - Dịch vụ tra cứu Java rmiregistry Dịch vụ hoạt động tiến trình tách biệt cho phép ứng dụng đăng ký dịch vụ RMI - Sau server đăng ký, chờ yêu cầu RMI từ client 16 Hình Cách hoạt động RMI 2.3.3 Sự phân lớp RMI Hình Sự phân lớp RMI - Đối tượng client gọi phương thức stub - Stub sử dụng tầng remote để liên lạc với skeleton - Tầng remote sử dụng tầng transport để thiết lập kết nối client server 2.3.4 Ưu nhược điểm RMI - Ưu điểm:  Ứng dụng nhiều tảng di động 17  Đơn giản, dễ sử dụng  Giao tiếp đối tượng dễ dàng  Có thể giới thiệu mã tới JVM ngồi  Hệ thống sử dụng RMI - chi phí thời gian để chuyển đổi sang cơng nghệ bị hạn chế - Nhược điểm:  Chỉ gắn với tảng hỗ trợ Java  Mối đe dọa bảo mật với thực thi mã từ xa, hạn chế chức thực thi hạn chế bảo mật  Không hiệu ứng dụng thời gian thực, ứng dụng video,…  Chỉ hoạt động với hệ thống Java - không hỗ trợ cho hệ thống viết C ++, Ada, Fortran, Cobol, người khác 2.4 Xây dựng chương trình 2.4.1 Thiết kế giao diện Muốn tham gia chat người dùng đăng nhập vào giao diện tham gia chat Giao diện gồm: - Tên đăng nhập: người dùng nhập tên - Phân quyền: người dùng chọn Simple User 18 Hình Giao diện đăng nhập Sau đăng nhập giao diện chat hiển thị Hình Giao diện chat Giao diện chat gồm : - Khung gửi tin nhắn - Khung gửi file - Khung hiển thị Connected Client 19 ... ảnh Nguyễn Thị Thu Mai Chạy thử kiểm tra khắc phục lỗi Nguyễn Thị Thu Mai Làm báo cáo kết Trần Thị Mỹ Phượng Làm báo cáo trình bày đề tài, nộp kết TỔNG QUAN VỀ ĐỀ TÀI Đề tài: Xây dựng chương trình...ĐẠI HỌC ĐÀ NẴNG KHOA CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG BÁO CÁO ĐỒ ÁN CƠ SỞ ĐỀ TÀI : XÂY DỰNG CHƯƠNG TRÌNH CHAT BẰNG RMI Họ tên: Lớp: Trần Thị Mỹ Phượng Mã... ĐỀ TÀI 1.Lý thực đề tài Phương pháp triển khai đề tài 4 Nội dung báo cáo 5 Dự kiến kết CHƯƠNG 1: CƠ SỞ LÝ THUYẾT 1.1 Tổng quan lập

Ngày đăng: 04/10/2021, 13:14

Xem thêm:

Mục lục

    TỔNG QUAN VỀ ĐỀ TÀI

    1.Lý do thực hiện đề tài

    3. Phương pháp triển khai đề tài

    4. Nội dung của báo cáo

    5. Dự kiến kết quả

    CHƯƠNG 1: CƠ SỞ LÝ THUYẾT

    1.1 Tổng quan về lập trình mạng

    1.2.1 Ngôn ngữ lập trình mạng

    1.3.1 Công cụ hỗ trợ Eclipse

    CHƯƠNG 2 PHÂN TÍCH THIẾT KẾ THUẬT TOÁN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w