1. Trang chủ
  2. » Luận Văn - Báo Cáo

Ứng dụng chat socket qua mạng Lan hỗ trợ đa người dùng và quản lí dữ liệu sql

34 39 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

Nội dung

Bối cảnh, lý do thực hiện đề tài Hiện nay mạng internet toàn cầu đã phát triển rất mạnh, đáp ứng rất tốt các nhu cầu về thông tin khoa học, giải trí, liên lạc, mua bán, quảng cáo v.v... của con người. Internet đã trở thành một thành phần không thể thiếu với cuộc sống hiện đại. Về bản chất, Internet chẳng qua là một hệ thống mạng, liên kết các máy tính trên toàn thế giới lại theo những chuẩn chung của nó. Với phạm vi nhỏ hơn nhưng cũng rất tương tự, có những mạng khác đó là WAN, LAN.., mỗi mô hình đó đều được ứng dụng rất nhiều tiện ích khác nhau. Với mục tiêu để cho các sinh viên ra trường với một kiến thức tốt về mạng, về lập trình ứng dụng trên mạng để có thể làm được nhiều việc khác nhau, bộ môn lập trình mạng ra đời. Vì vậy, ngày hôm nay, lúc em đang học về lập trình mạng, đã tìm được đề tài với tên “Ứng dụng chat qua mạng lan hỗ trợ đa người dùng và quản lí dữ liệu SQL”, điều đó giúp em thực hành để có cơ hội hiểu rõ hơn về mạng, về lập trình mạng – một lĩnh vực lập trình rất thú vị này. 1.2 Cơ sở lập trình Ứng dụng hoạt động dựa vào giao thức IP/TCP để truyền dữ liệu giữa hai máy khác nhau, cụ thể ở đây là một máy server để cung cấp dịch vụ và nhiều máy client sử dụng dịch vụ do máy server cung cấp để cho người dùng sử dụng. Ngôn ngữ lập trình ở đây là ngôn ngữ Java (Phiên bản J2SE 1.6) vì Java là ngôn ngữ có thể được sử dụng để viết ứng dụng chạy trên hầu hết các thiết bị (ở đây ta quan tâm tới thiết bị có hỗ trợ mạng). Trọng điểm, có mấy khả năng nổi trội do Java cung cấp mà ta có thể sử dụng là : - Lập trình đa tuyến trình (Cùng 1 ứng dụng nhưng có thể chạy nhiều tiến trình song song với nhau thay vì cứ phải tiến trình này đợi tiến trình kia kết thúc mới có thể thực hiện) - Java là một nền tảng có thể chạy trên nhiều loại thiết bị với nhiều hệ điều hành khác nhau nên có phạm vi ứng dụng rất rộng rãi. - Lập trình mạng. Lớp quan trọng nhất mà ta sử dụng là lớp Socket và ServerSocket

TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI KHOA ĐIỆN TỬ - - BÀI TẬP LỚN LẬP TRÌNH MẠNG ĐỀ TÀI: ỨNG DỤNG CHAT QUA MẠNG LAN HỖ TRỢ ĐA NGƯỜI DÙNG VÀ QUẢN LÍ DỮ LIỆU SQL Giảng viên hướng dẫn: TS HÀ MẠNH ĐÀO Sinh viên thực : LÊ ĐĂNG KHÔI Lớp KTMT1-K11 : HÀ NỘI – 2019 TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI KHOA ĐIỆN TỬ - - BÀI TẬP LỚN LẬP TRÌNH MẠNG ĐỀ TÀI: ỨNG DỤNG CHAT QUA MẠNG LAN HỖ TRỢ ĐA NGƯỜI DÙNG VÀ QUẢN LÍ DỮ LIỆU SQL Giảng viên hướng dẫn: TS HÀ MẠNH ĐÀO Sinh viên thực : LÊ ĐĂNG KHÔI Mã sinh viên : 1141250008 Lớp : KTMT1-K11 HÀ NỘI – 2019 MỤC LỤC CHƯƠNG MỞ ĐẦU 1.1 Bối cảnh, lý thực đề tài .1 1.2 Cơ sở lập trình CHƯƠNG CƠ SỞ LÝ THUYẾT .2 2.1 Yêu cầu đề tài 2.2 Giới thiệu mơ hình Client/Server 2.3 Giới thiệu giao thức IP/TCP 2.4 Lập trình mạng Java CHƯƠNG : PHÂN TÍCH THIẾT KẾ CHƯƠNG TRÌNH .6 3.1 Phân tích yêu cầu .6 3.2 Phân tích chức 3.3 Phân tích thiết kế chương trình 3.4 Thiết kế hệ thống: CHƯƠNG : TRIỂN KHAI THỰC HIỆN VÀ KẾT QUẢ 14 4.1 Môi trường triển khai 14 4.2 Kết thực .14 4.3 Chương trình 17 LỜI CẢM ƠN Sau trình học tập nghiên cứu em hoàn thành Bài Tập Lớn “Ứng dụng chat socket qua mạng Lan hỗ trợ đa người dùng quản lí liệu sql” hướng dẫn bảo tận tình TS Hà Mạnh Đào Với tình cảm chân trọng, em xin chân thành cảm ơn TS Hà Mạnh Đào hướng dẫn bảo em hoàn thành Bài Tập Lớn Trong q trình trình bày khó tránh khỏi sai sót, mong thầy, bỏ qua Đồng thời trình độ lý luận kinh nghiệm cịn hạn chế nên báo cáo khơng thể tránh khỏi thiếu sót, chúng em mong nhận ý kiến đóng góp thầy, để em học thêm nhiều kinh nghiệm hoàn thành tốt báo cáo sau Em xin chân thành cảm ơn! CHƯƠNG MỞ ĐẦU 1.1 Bối cảnh, lý thực đề tài Hiện mạng internet toàn cầu phát triển mạnh, đáp ứng tốt nhu cầu thông tin khoa học, giải trí, liên lạc, mua bán, quảng cáo v.v người Internet trở thành thành phần thiếu với sống đại Về chất, Internet chẳng qua hệ thống mạng, liên kết máy tính tồn giới lại theo chuẩn chung Với phạm vi nhỏ tương tự, có mạng khác WAN, LAN , mơ hình ứng dụng nhiều tiện ích khác Với mục tiêu sinh viên trường với kiến thức tốt mạng, lập trình ứng dụng mạng để làm nhiều việc khác nhau, mơn lập trình mạng đời Vì vậy, ngày hơm nay, lúc em học lập trình mạng, tìm đề tài với tên “Ứng dụng chat qua mạng lan hỗ trợ đa người dùng quản lí liệu SQL”, điều giúp em thực hành để có hội hiểu rõ mạng, lập trình mạng – lĩnh vực lập trình thú vị 1.2 Cơ sở lập trình Ứng dụng hoạt động dựa vào giao thức IP/TCP để truyền liệu hai máy khác nhau, cụ thể máy server để cung cấp dịch vụ nhiều máy client sử dụng dịch vụ máy server cung cấp người dùng sử dụng Ngôn ngữ lập trình ngơn ngữ Java (Phiên J2SE 1.6) Java ngơn ngữ sử dụng để viết ứng dụng chạy hầu hết thiết bị (ở ta quan tâm tới thiết bị có hỗ trợ mạng) Trọng điểm, có khả trội Java cung cấp mà ta sử dụng : - Lập trình đa tuyến trình (Cùng ứng dụng chạy nhiều tiến trình song song với thay phải tiến trình đợi tiến trình kết thúc thực hiện) - Java tảng chạy nhiều loại thiết bị với nhiều hệ điều hành khác nên có phạm vi ứng dụng rộng rãi - Lập trình mạng Lớp quan trọng mà ta sử dụng lớp Socket ServerSocket CHƯƠNG CƠ SỞ LÝ THUYẾT 2.1 Yêu cầu đề tài Viết chương trình Client/Server cho phép nhiều người sử dụng gửi tin nhắn cho dạng phịng chat room có thêm chức gửi file 2.2 Giới thiệu mơ hình Client/Server Server hiểu máy chủ, thường hệ thống máy lớn, có xử lý mạnh, có khả hoạt động đáng tin cậy, có khả lưu trữ liệu lớn, chuyên quản lý tài nguyên (chủ yếu sở liệu), cung cấp dịch vụ mạng cho máy khách (client) sử dụng Bình thường chạy suốt thời gian thực sẵn sàng chấp nhận yêu cầu kết nối yêu cầu dịch vụ khác từ máy khách Client máy khách, thường sử dụng người dùng cuối Nó hoạt động dựa việc sử dụng dịch vụ mà máy server cung cấp để thực cơng việc mà người dùng cuối mong muốn Quy trình hoạt động mơ hình lặp lại q trình sau : - Client gửi yêu cầu lên server - Server nhận yêu cầu sẻ xử lý thích hợp trả lời lại client Mơ hình Client/Server 2.3 Giới thiệu giao thức IP/TCP 2.4.1 Giới thiệu TCP Giao thức TCP (Transmission Control Protocol) giao thức hướng kết nối (connection-oriented), địi hỏi thiết lập kết nối trước bắt đầu gửi liệu kết thúc kết nối việc gửi liệu hoàn tất theo thứ tự: thiết lập kết nối, truyền liệu kết thúc kết nối 2.4.2 Giới thiệu IP IP địa máy tính mạng, dựa vào địa IP giao thức TCP truyền liệu xác từ máy qua máy thông qua hệ thống mạng Ở mạng, máy tính sẻ có địa IP khác nhau, từ địa IP biết máy mạng ngược lại 2.4.3 Giới thiệu cổng Port Với IP, giao thức TCP truyền liệu xác từ máy qua máy mà chưa thể truyền xác đến ứng dụng máy Hiện nay, hệ thống máy thông thường hoạt động theo chế độ đa nhiệm, nghĩa có nhiều ứng dụng chạy lúc có nhiều ứng dụng sử dụng dịch vụ mạng Yêu cầu, máy chủ A truyền liệu cho ứng dụng u máy B máy B phải đảm bảo liệu phải đến ứng dụng u, ứng dụng v Để thực điều máy chủ A truyền liệu liệu có thành phần thơng tin giúp máy B xác định ứng dụng u Phần thơng tin địa port máy B, hiểu lỗ cắm ảo máy B mà ứng dụng u đăng ký để độc quyền sử dụng nhằn nhận liệu từ máy chủ A Trên thực tế, địa port số nguyên byte có giá trị từ đến 65535 Nó có đặc điểm : - Giá trị từ đến 1023 cổng phổ biến dành cho ứng dụng thông dụng http: 80, mail : 25, ftp : 21, Telnet 23 Các giá trị cịn lại sử dụng linh hoạt - Mỗi cổng thời điểm sử dụng cho tối đa ứng dụng Ví dụ ứng dụng sử dụng cổng 55 ứng dụng khác khơng thể sử dụng cổng 55 chừng ứng dụng trước chưa có đóng cổng 55 lại 2.4.4 Giới thiệu Socket - Socket khái niệm để định vị dịch vụ máy tính mạng kết hợp hai khái niệm IP Port lại - Socket có nhiệm vụ sau :  Gắn cổng máy  Lắng nghe kết  Kết nối/Đóng kết nối đến máy tính xa qua cổng gắn  Gửi/nhận liệu  Lắng nghe liệu đến Thực chất, Socket chẳng qua kết hợp địa IP máy tính cổng Port mà ứng dụng sử dụng Chính kết hợp mà trở thành khái niệm mà từ đó, ngơn ngữ lập trình có chứa gói, giao diện lập trình (API) để hỗ trợ nhà lập trình dễ dàng việc lâp trình liên quan đến mạng qua giao thức TCP Điển hình ngơn ngữ Java mà em sẻ giới thiệu sau 2.4 Lập trình mạng Java 2.4.1 Gói ServerSocket Nhiệm vụ :  Mở cổng kết nối server, sẵn sàng hoạt động cổng public Socket(int port) : Tạo cổng kết nối cổng port  Lắng nghe, chờ đợi yêu cầu kết nối cổng kết nối có yêu cầu public accept():Chấp nhận kết nối trả đối tượng Socket mô tả nguồn kết nối đến  Tạo luồng liệu vào để truyền liệu cổng đến socket máy khách (Đây chức quan trọng nhất) getInputStream() : Trả luồng mà nhập liệu vào getOutputStream() : Trả luồng ghi liệu  Đóng kết nối lúc khơng sử dụng close() : Đóng kết nối khơng cần 2.4.2 Gói Socket Nhiệm vụ  Kết nối tới máy chủ thông qua địa IP số hiệu cổng máy chủ Public Socket(InetAddress address, int port)  Tạo luồng liệu vào Public OutputStream getOutputStream() ; Public InputStream getInputStream() ;  Đóng kết nối Public void Close(); Đóng kết nối 2.4.3 Một số gói, lớp bổ trợ khác a Gói Swing, awt.event : tạo giao diện người dùng b Gói Runnable, Thread : Hỗ trợ đa tiến trình c Gói java.io : Cung cấp lớp vào liệu CHƯƠNG : PHÂN TÍCH THIẾT KẾ CHƯƠNG TRÌNH 3.1 Phân tích u cầu Hiện nay, mạng LAN phát triển mạnh trường học, quan tổ chức hộ gia đình Chính điều kéo theo nhu cầu liên lạc trao đổi thông tin mạng LAN phát triển theo Chính vậy, chương trình Chat phục vụ cho nhu cầu liên lạc, trao đổi thông tin mạng LAN cần thiết 3.2 Phân tích chức 3.1.1 Trên Client:  Đăng kí đăng nhập vào server với user người dùng tự chọn  Username password người dùng lưu SQL Server  Nhận danh sách user online server  Gửi tin nhắn tới người tất người online khác server  Thực gửi file đến máy client khác  Nhận tin nhắn từ user khác gửi tới  Đăng xuất tài khoản 3.1.2 Trên Server:  Tạo cổng kết nối sẵn sàng đón nhận kết nối từ client  Xử lý yêu cầu đăng nhập từ client  Nếu nickname chưa có đăng nhập từ trước cho đăng nhập Giao diện Gửi File Client 16 4.3 Chương trình 4.3.1 Cấu trúc chương trình 4.3.2 Chương trình máy server a.File MainForm.java Thư viện : Khai báo ban đầu 17 Tạo hiển thị thơng báo lên hình Các phương thức cần có mainform.java 18 19 Nút “Khởi động Máy Chủ” Nút “Dừng Máy Chủ” 20 b File ServerThread.java Khai báo thư viện Khai báo ban đầu khai báo hiển thị hình appendMessage Phương thức run() Phương thức stop() 21 c File SocketThread.java Khai báo thư viện Khai báo ban đầu, thiết lập luồng truyền liệu Socket : DataInputStream 22 Thiết lập kết nối d File OnlineListThread.java Khai báo thư viện Khai báo thiết lập ban đầu Khai báo void run() 23 24 4.3.3 Chương trình máy Client a LoginForm.java Hàm kết nối đến Server người dùng click vào nút “Đăng nhập” b MainForm.java Khai báo thư viện Khai báo ban đầu 25 Thiết lập kết nối đến Server Hàm danh sách online 26 c File ClientThread.java Khai báo thư viện Khai báo ban đầu, khởi tạo ClientThread thiết lập DataInputStream 27 d File SendFile.java Khai báo ban đầu Phương thức gọi đến người dùng click vào menu “Gửi File”, sau kết nối đến Server bắt đầu sẵn sàng để gửi file 28 Phương thức SendFileThread gửi yêu cầu chuyển liệu đến Server Code nút gửi file người dùng nhấn e File SendingFileThread.java Thiết lập ban đầu 29 Các tiến trình xử lý 30 ... NGHIỆP HÀ NỘI KHOA ĐIỆN TỬ - - BÀI TẬP LỚN LẬP TRÌNH MẠNG ĐỀ TÀI: ỨNG DỤNG CHAT QUA MẠNG LAN HỖ TRỢ ĐA NGƯỜI DÙNG VÀ QUẢN LÍ DỮ LIỆU SQL Giảng viên hướng dẫn: TS HÀ MẠNH ĐÀO Sinh viên thực... tốt mạng, lập trình ứng dụng mạng để làm nhiều việc khác nhau, môn lập trình mạng đời Vì vậy, ngày hơm nay, lúc em học lập trình mạng, tìm đề tài với tên ? ?Ứng dụng chat qua mạng lan hỗ trợ đa người. .. ƠN Sau trình học tập nghiên cứu em hoàn thành Bài Tập Lớn ? ?Ứng dụng chat socket qua mạng Lan hỗ trợ đa người dùng quản lí liệu sql? ?? hướng dẫn bảo tận tình TS Hà Mạnh Đào Với tình cảm chân trọng,

Ngày đăng: 11/12/2021, 11:11

HÌNH ẢNH LIÊN QUAN

2.2 Giới thiệu mô hình Client/Server - Ứng dụng chat socket qua mạng Lan hỗ trợ đa người dùng và quản lí dữ liệu sql
2.2 Giới thiệu mô hình Client/Server (Trang 6)
Một số hình ảnh minh họa - Ứng dụng chat socket qua mạng Lan hỗ trợ đa người dùng và quản lí dữ liệu sql
t số hình ảnh minh họa (Trang 18)

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w