bao cao mon hoc phat trien ung dung chat bang java

32 32 5
bao cao mon hoc phat trien ung dung chat bang 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

Sơ lược về socket, socket là giao diện lập trình ứng dụng mạng được dùng để truyền và nhận giữ liệu trên internet. Giữa hai chương trình chạy trên mạng cần có một liên kết giao tiếp hai chiều, hay còn gọi là twoway communication để kết nối 2 process trò chuyện với nhau. Điểm cuối (endpoint) của liên kết này được gọi là socket. Socket sẽ được sử dụng để lắng nghe mỗi khi có tin nhắn mới, reaction... để cập nhật lên giao diện. Việc cập nhật dữ liệu thời gian thực như thế đem lại một trải nghiệm tuyệt vời cho người dùng. Nó sẽ giải quyết vấn đề một cách nhanh gọn và tiếm kệm tài nguyên cho cả client và server

KHOA KỸ THUẬT VÀ CÔNG NGHỆ BỘ MÔN CÔNG NGHỆ THÔNG TIN PHÁT TRIỂN ỨNG DỤNG HƯỚNG DỊCH VỤ HỌC KỲ NĂM HỌC 2024 PHÁT TRIỂN ỨNG DỤNG MINICHAT BẰNG JAVA Giảng viên hướng dẫn: ThS Ngô Thanh Huy Sinh viên thực Họ tên: Nguyễn Hoàng Phương MSSV: 170122255 Lớp: DK22TTC6 Thành phố Hồ Chí Minh, tháng 02 năm 2024 PHÁT TRIỂN ỨNG DỤNG MINICHAT BẰNG JAVA GVHD: ThS Ngô Thanh Huy NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN Trà Vinh, ngày … tháng …… năm …… Giáo viên hướng dẫn (Ký tên ghi rõ họ tên) SV thực hiện: Nguyễn Hoàng Phương PHÁT TRIỂN ỨNG DỤNG MINICHAT BẰNG JAVA GVHD: ThS Ngô Thanh Huy NHẬN XÉT CỦA THÀNH VIÊN HỘI ĐỒNG Trà Vinh, ngày … tháng …… năm …… Thành viên hội đồng (Ký tên ghi rõ họ tên) SV thực hiện: Nguyễn Hoàng Phương PHÁT TRIỂN ỨNG DỤNG MINICHAT BẰNG JAVA GVHD: ThS Ngô Thanh Huy LỜI CẢM ƠN Lời em xin chân thành cảm ơn thầy Ngô Thanh Huy giảng dạy, truyền đạt cho em kiến thức buổi học trực tuyến Trường Đại Học Trà Vinh Cám ơn cô quản lý học tập Lê Thị Hằng hỗ trợ trình học tập trực tuyến website học tập trực tuyến Trường Đại Học Trà Vinh Xin cảm ơn bạn lớp DK22TTC6 đồng hành suốt thời gian học tập môn “Phát triển ứng dụng hướng dịch vụ” hỗ trợ cho tơi q trình làm báo cáo Với hiểu biết tự tìm tịi thân trình giảng tận tình giảng viên qua buổi học trực tuyến em cố gắng hoàn thành báo cáo cách tốt nhất, tránh thiếu sót Kính mong nhận đóng góp ý kiến từ thầy Giảng Viên mơn để em nâng cao bổ sung thêm kiến thức cho thân, hoàn thiện báo cáo kết thúc môn học đạt kết tốt hoản chỉnh Em xin chân thành cảm ơn! Thành phố Hồ Chí Minh, ngày 22 tháng 02 năm 2024 Sinh viên thực Nguyễn Hoàng Phương SV thực hiện: Nguyễn Hoàng Phương PHÁT TRIỂN ỨNG DỤNG MINICHAT BẰNG JAVA GVHD: ThS Ngô Thanh Huy MỤC LỤC LỜI CẢM ƠN Trang 03 Mục lục Trang 04 DANH MỤC HÌNH ẢNH Trang 06 Tóm tắt Trang 07 Mở đầu Trang 08 Chương 1: Tổng quan Trang 09 Chương 2: Nghiên cứu lý thuyết Trang 10 2.1 Kiến trúc Client-Server Trang 10 2.2 Giao thức TCP/IP Trang 11 2.3 Socket Trang 12 2.3.1 Khái quát Socket Trang 12 2.3.2 Cơ chế Socket Trang 13 2.3.3 Mô hình truyền tin Stream Socket Trang 13 2.3.4 Một số hàm Socket Trang 15 2.4 Giới thiệu ngôn ngữ Java Trang 17 2.4.1 Khái niệm Java Trang 17 2.4.2 Ứng dụng Trang 17 2.4.3 Sự lựa chọn phổ biến Trang 18 2.4.3 Cách hoạt động Java Trang 18 2.4.5 Java la ngôn ngữ lập trình hướng đối tượng Trang 18 2.4.6 Biến Trang 18 2.4.7 Các kiểu liệu Trang 19 2.4.8 Ép kiểu Java Trang 19 2.4.9 Nạp chồng ghi đè Trang 19 2.4.10 Interface Trang 20 2.4.11 Abstracts Trang 20 Chương 3: Nội dung thực Trang 21 SV thực hiện: Nguyễn Hoàng Phương PHÁT TRIỂN ỨNG DỤNG MINICHAT BẰNG JAVA GVHD: ThS Ngô Thanh Huy 3.1 Môi trường chạy ứng dụng công cụ để lập trình ứng dụng Trang 21 3.1.1 Cài đặt máy ảo JAVA Trang 21 3.1.2 Cài đặt Eclipse IDE Trang 21 3.2 Giải pháp thực Trang 22 3.2.1 Xây dựng chương trình Server Trang 22 3.2.2 Xây dựng chương trình Client Trang 23 3.2.3 Thiết kế giao diện hiển thị khung chat phía Client Trang 23 3.2.4 Chức chương trình Trang 23 3.3 Thực nghiệm chương trình Trang 23 3.3.1 Khởi tạo server miniCHAT Trang 23 3.3.2 Khởi tạo Client kết nối tới Server Trang 24 3.3.3 Thông tin hiển thị Server Trang 27 Chương 4: ĐÁNH GIÁ KẾT QUẢ Trang 28 4.1 Kết đạt Trang 28 4.2 Hạn chế Trang 28 4.3 Hướng phát triển Trang 28 Chương 5: Kêt luận Trang 29 DANH MỤC TÀI LIỆU THAM KHẢO Trang 30 Phụ lục Trang 31 SV thực hiện: Nguyễn Hoàng Phương PHÁT TRIỂN ỨNG DỤNG MINICHAT BẰNG JAVA GVHD: ThS Ngô Thanh Huy DANH MỤC HÌNH ẢNH Hình 1: Mơ hình Client-server Hình 2: Giao tiếp Socket, tầng làm việc mơ hình OSI TCP/IP Hình 3: Mơ hình truyền tin Stream Socket Hình : Mơ hình tương tác client/server qua socket TCP Hình 5: Ví dụ chương trình socket TCP Hình 6: Các kiểu liệu Java Hình 7: Tải ứng dụng JDK (x64 Installer) Hình 8: Tải ứng dụng Eclipse Hình 9: Cài đặt Eclipse IDE 10 Hình 10: Khởi server miniCHAT 11 Hình 11: Form đăng nhập client 12 Hình 12: Giao diện chat Client 13 Hình 13: Thử nghiệm chat chung chat riêng 14 Hình 14 : Hiển thị thông báo login logout Server 15 Hình 15 : Hình ảnh thực tế triển khai mạng LAN SV thực hiện: Nguyễn Hoàng Phương PHÁT TRIỂN ỨNG DỤNG MINICHAT BẰNG JAVA GVHD: ThS Ngô Thanh Huy TÓM TẮT Trong đề tài cần nghiên cứu ngơn ngữ lập trình java, chương trình soạn thảo Eclipse IDE for Java Developers sử dụng Socket Java Sơ lược socket, socket giao diện lập trình ứng dụng mạng dùng để truyền nhận giữ liệu internet Giữa hai chương trình chạy mạng cần có liên kết giao tiếp hai chiều, hay gọi two-way communication để kết nối process trò chuyện với Điểm cuối (endpoint) liên kết gọi socket Socket sử dụng để "lắng nghe" có tin nhắn mới, reaction để cập nhật lên giao diện Việc cập nhật liệu thời gian thực đem lại trải nghiệm tuyệt vời cho người dùng Nó giải vấn đề cách nhanh gọn tiếm kệm tài nguyên cho client server Stream Socket hay gọi socket hướng kết nối, socket hoạt động thông qua giao thức TCP (Transmission Control Protocol) Stream Socket hoạt động server client kết nối với thông qua IP Port, liệu truyền đảm bảo truyền đến nơi nhận, thứ tự với thời gian nhanh chóng Trong đề tài tạo phòng chat mạng LAN Kết nối Client server sử dụng socket, chat chung chat riêng, xây dựng giao diện chat đơn giản SV thực hiện: Nguyễn Hoàng Phương PHÁT TRIỂN ỨNG DỤNG MINICHAT BẰNG JAVA GVHD: ThS Ngô Thanh Huy MỞ ĐẦU Với phát triển công nghệ thông tin nay, Internet ngày giữ vai trò quan trọng lĩnh vực khoa học kỹ thuật đời sống Dĩ nhiên bạn nghe nói nhiều Internet, nói cách đơn giản, Internet tập hợp máy tính nối kết với nhau, mạng máy tính tồn cầu mà kết nối máy tính riêng họ Với mạng Internet, tin học thật tạo nên cách mạng trao đổi thơng tin lĩnh vực văn hóa, xã hội, trị, kinh tế, … Bên cạnh việc phát triển thư điện tử nhiều dịch vụ khác (Gmail, Yahoo Mail, SMS mạng điện thoại di động…), việc chat trực tuyến gửi flie trực tiếp Internet nhu cầu thiếu Việc chat trực tuyến cần thiết cho người doanh nghiệp, sở giáo dục, y tế, tổ chức xã hội, … Với thực tế vậy, em nghiên cứu xây dựng mơ hình MINICHAT mạng nội doanh nghiệp nhỏ Có dối tuợng dụng client (nguời dùng) server: - Client: từ ứng dụng, người dùng nhắn tin chia sẻ thơng tin qua với người dùng người dùng, thay dùng chức có ứng dụng xây dựng - Server: có tồn quyền hiển thị, cập nhật thay đổi thơng tin nhiều người dùng Qua đảm bảo an tồn thơng tin họ SV thực hiện: Nguyễn Hoàng Phương PHÁT TRIỂN ỨNG DỤNG MINICHAT BẰNG JAVA GVHD: ThS Ngô Thanh Huy CHƯƠNG 1: TỔNG QUAN Trong đề tài tập trung thiết kế giải thuật cho server client Xây dựng giao diện để người sử dụng dễ dàng trao đổi thông tin qua lại với Giải thuật chương trình phía server: - Tạo socket, đăng ký địa socket với hệ thống - Đặt socket trạng thái lắng nghe, chờ sẵn sàng cho việc kết nối từ client - Chấp nhận kết nối từ client, gởi nhận liệu - Đóng kết nối sau hoàn thành, trở lại trang thái lắng nghe chờ kết nối Giải thuật chương trình phía client: - Xác định địa server - Tạo socket - Kết nối đến server - Gởi nhận liệu - Đóng kết nối SV thực hiện: Nguyễn Hồng Phương PHÁT TRIỂN ỨNG DỤNG MINICHAT BẰNG JAVA GVHD: ThS Ngô Thanh Huy Hình 5: Ví dụ chương trình socket TCP 2.4 Giới thiệu Ngơn ngữ lập trình Java 2.4.1 Khái niệm Java Java ngôn ngữ lập trình sử dụng rộng rãi để viết mã cho ứng dụng web Ngôn ngữ lựa chọn phổ biến nhà phát triển thập niên Hiện có hàng triệu ứng dụng Java sử dụng Java ngôn ngữ đa tảng, hướng đến đối tượng, lấy mạng làm trung tâm sử dụng tảng Đây ngơn ngữ lập trình nhanh, bảo mật, đáng tin cậy dùng để viết mã cho thứ từ ứng dụng di động, phần mềm doanh nghiệp ứng dụng liệu lớn cơng nghệ phía máy chủ 2.4.2 Ứng dụng Vì Java ngơn ngữ miễn phí linh hoạt, dùng để phát triển phần mềm cục phân tán Một số công dụng phổ biến Java bao gồm: Phát triển trị chơi, điện tốn đám mây, liệu lớn, trí tuệ nhân tạo, internet vạn vật, SV thực hiện: Nguyễn Hoàng Phương 17 PHÁT TRIỂN ỨNG DỤNG MINICHAT BẰNG JAVA GVHD: ThS Ngô Thanh Huy 2.4.3 Sự lựa chọn phổ biến Java phổ biến thiết kế để dễ dàng sử dụng Một số lý mà nhà phát triển tiếp tục chọn Java thay ngơn ngữ lập trình khác bao gồm: Tài nguyên học tập chất lượng cao, chức thư viện sẵn có, hỗ trợ tích cực cộng đồng, độc lập với tảng bảo mật 2.4.4 Cách hoạt động Java Mọi ngơn ngữ lập trình phương thức để giao tiếp với máy Phần cứng máy phản hồi thông tin giao tiếp điện tử Các ngôn ngữ lập trình cấp độ cao Java đóng vai trị cầu nối ngôn ngữ người ngôn ngữ phần cứng Để sử dụng Java, nhà phát triển cần phải hiểu điều: - Ngôn ngữ API Java: Đây hoạt động giao tiếp front-end nhà phát triển tảng Java - Máy ảo Java: Ðây hoạt dộng giao tiếp back-end tảng Java phần cứng sở 2.4.5 Java ngơn ngữ lập trình huớng đối tuợng Java ngơn ngữ lập trình huớng đối tuợng cung hỗ trợ đặc tính lập trình huớng đối tuợng: + Đa hình (Polymorphism): Trong trường hợp, hồn cảnh khác đối tượng có hình thái khác tùy thuộc vào ngữ cảnh + Kế thừa (Inheritance): Là liên quan hai class với nhau, có class cha (superclass) class (subclass) Khi kế thừa class hưởng tất phương thức thuộc tính class cha + Đóng gói (Encapsulation): Đóng gói che giấu liệu riêng bên đối tượng lớp khai báo truy xuất thông qua hệ thống phương thức có sẵn lớp Tính đóng gói dùng để bảo vệ liệu, ngăn ngừa việc truy cập gán giá trị trực tiếp cho thuộc tính bên đối tượng, nhằm bảo vệ tính xác giá trị thuộc tính + Trừu tượng (Abstraction): Đó q trình che giấu hoạt động bên hiển thị tính thiết yếu đối tượng tới người dùng 2.4.6 Biến Biến duợc tạo với lớp qua trình lập trình để mơ tả thuộc tính đối tuợng Có loại biến cục biến tồn cục: - Biến cục bộ: biến đuợc khởi tạo bên phương thức Và bị huỷ phương thức bị huỷ SV thực hiện: Nguyễn Hoàng Phương 18 PHÁT TRIỂN ỨNG DỤNG MINICHAT BẰNG JAVA GVHD: ThS Ngô Thanh Huy - Biến toàn cục (Instant): biến nằm bên lớp bên phương thức - Biến static: biến static đuợc khai báo class với từ khóa ‘static’, phía bên ngồi phương thức, constructor block 2.4.7 Các kiểu liệu Byte, Short, Int, Long, Char, Boolean, Float, Double Hình 6: Các kiểu liệu Java 2.4.8 Ép kiểu Java - Ép kiểu Nới rộng (Widening): Là trình làm trịn số từ kiểu liệu có kích thuớc nhỏ sang kiểu có kích thuớc lớn Kiểu biến đổi khơng làm thơng tin Ví dụ chuyển từ int sang float Chuyển kiểu loại đuợc thực ngầm định trình biên dịch - Ép kiểu Thu hẹp (Narrowwing): Là q trình làm trịn số từ kiểu liệu có kích thước lớn sang kiểu có kích thước nhỏ Kiểu biến đổi làm thông tin Chuyển kiểu loại thực ngầm định trình biên dịch, người dùng phải thực chuyển kiểu tường minh 2.4.9 Nạp chồng (Overloading) ghi đè (Overriding) - Nạp chồng (Overloading): Là phương thức có tên khác tham số trả kết khác - Ghi đè (Overriding): lớp cung cấp lại cài đặt cụ thể cho phương thức mà lớp cha cung cấp gọi ghi đè phương thức Nó thục dựa lớp có tính chất kế thừa SV thực hiện: Nguyễn Hoàng Phương 19

Ngày đăng: 29/02/2024, 10:02

Từ khóa liên quan

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

Tài liệu liên quan