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

Báo Cáo Đồ Án Môn Lập Trình Mạng Máy Tính Socket Multicast.pdf

21 0 0
Tài liệu được quét OCR, nội dung có thể không chính xác
Tài liệu đã được kiểm tra trùng lặp

Đ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

Thông tin cơ bản

Tiêu đề Socket Multicast
Tác giả Phan Đình Ngọc, Phạm Lê Huy Hoàng, Nguyễn Hà Thanh An, Hồ Hoàng An
Người hướng dẫn Ths. Đoàn Khải Hiếu
Trường học Trường Đại học Công nghệ TP. HCM
Chuyên ngành An Toàn Thông Tin
Thể loại Đồ án môn học
Năm xuất bản 2023
Thành phố TP. Hồ Chí Minh
Định dạng
Số trang 21
Dung lượng 528,73 KB

Nội dung

Multicast là một phương pháp truyền thông mạng cho phép một máy chủ hoặc nguồn dữ liệu gửi đữ liệu đến một nhóm người nghe các thiết bị truyền dẫn trong mạng, thay vì phải gửi riêng lẻ đ

Trang 1

BỘ GIÁO DỤC VÀ ĐÀO TẠO

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ TP HCM

BAO CAO DO AN

MON LAP TRINH MANG MAY TINH

Socket Multicast

Giảng viên hướng dẫn: Ths Đoàn Khải Hiếu

Sinh viên thực hiện:

Trang 2

Chuong 1: TONG QUAN DO AN 1.1 Mục đích

Mục đích của socket multicasting (gọi tắt là socket multicast) là cho phép gửi

dữ liệu từ một nguồn đến nhiều đích (multicast group) một cách hiệu quả trong mạng

Multicast là một phương pháp truyền thông mạng cho phép một máy chủ hoặc nguồn

dữ liệu gửi đữ liệu đến một nhóm người nghe (các thiết bị truyền dẫn) trong mạng,

thay vì phải gửi riêng lẻ đến từng thiết bị

Trang 3

Chương 2: CƠ SỞ LÝ THUYÉT 2.1 Kiến trúc hệ thống

Kiến trúc hệ thống sử dụng socket multicast đề kết nối với nhau thông qua server

thường bao gồm các thành phần chính sau:

Server: Server là máy chủ chính trong hệ thống Nó có nhiệm vụ quản lý và phân

phối đữ liệu đến các client Server sử dung socket multicast dé gui dit liệu đến một

nhóm multicast cụ thé

Client: Các client là các máy tính hoặc thiết bị mà bạn muốn kết nối với server để

nhận dữ liệu Các client cũng sử dụng socket multicast đề tham gia vào nhóm

multicast, từ đó nhận dữ liệu từ server

Multicast Group: Đây là một nhóm các máy tính (client) được nhóm lại để nhận dữ

liệu từ server Server gửi dữ liệu đến địa chỉ IP multicast cụ thể, và tất cả các client

trong nhóm multicast này sẽ nhận được dữ liệu Địa chỉ IP multicast thường là một

địa chỉ IP đặc biệt thuộc vào phạm vị IP multicast

Socket Multicast: Server và client sử dụng socket multicast để tham gia vào nhóm

multicast va truyền đữ liệu Socket multicast sử dụng giao thức UDP đề gửi dữ liệu

từ server đến các client trong nhóm multicast

Router: Router trong mạng đảm bảo rằng gói đữ liệu multicast được định tuyến đúng

cách từ server đến tất cả các client trong nhóm multicast Router phải hỗ trợ giao

thức IP multicast để có thê chuyên tiếp gói dữ liệu

Các bước cơ bản trong quá trình sử dụng socket multicast để kết nối với nhau thông

Trang 4

qua server bao gôm:

Server khoi tao m6t socket multicast va gan no v6i dia chi IP multicast cụ thé

Client cũng khởi tạo một socket multicast và tham gia vào nhóm multicast bang cach

sử dụng địa chỉ IP multicast

Server gửi đữ liệu thông qua socket multicast, và tất cả các client trong nhóm

multicast nhan duoc dữ liệu này

Router đảm bảo gói dữ liệu multicast được chuyền tiếp đúng cách từ server đến các

client

Kiến trúc này cho phép nhiều client kết nối với server thong qua socket multicast

một cách hiệu quả, đặc biệt trong các tình huồng cần gửi đữ liệu đến nhiều người

dùng cùng một lúc

2.2 Sơ đồ cấu trúc

Dưới đây là sơ đồ cấu trúc minh họa và chỉ tiết các thành phân, tương tác giữa chúng:

Trang 5

Client: Cac may tính hoặc thiết bi khác trong hệ thống, nhận dữ liệu từ server

thông qua socket multIcast

Router: Router trong mạng đảm bảo định tuyến gói đữ liệu multicast từ server đến

các client trong nhóm multicast Router phai hỗ trợ giao thức IP multicast

Socket Multicast: Ca server và client đều sử dung socket multicast dé tham gia

vào nhóm multIcast và truyền dữ liệu

Sơ đồ này thể hiện cấu trúc cơ bản của việc sử dung socket multicast dé gửi dữ

liệu từ server đến nhiều client thông qua mạng Gói đữ liệu multicast được gửi từ

server và được định tuyến qua router đến tất cả các client trong nhóm multicast

2.3 Chi tiết triển khai

Server: Khởi tạo socket multicast và gửi dữ liệu Server cần khởi tạo một socket UDP và liên kết nó với một địa chỉ IP và công cụ thê

Server sử dụng socket này dé gửi dữ liệu đến một địa chỉ IP multicast cụ thé

Trước khi gửi đữ liệu, server cần tham gia vào nhóm multicast bang cach str dụng địa chỉ IP multicast Điều này cho phép server gửi đữ liệu đến nhóm này

Trang 6

Client: Tham g1a vào nhóm multicast và nhận đữ liệu Client cần khởi tạo một socket UDP riêng và liên kết nó với cổng mà server

đã sử dụng

Sau đó, client sử dụng socket này đề tham gia vào nhóm multicast bằng cách

sử dụng địa chỉ IP multicast mà server đã sử dụng

Khi client đã tham gia vào nhóm multicast, nó có thé nhận dữ liệu gửi từ server thông qua socket này

Router: Đảm bảo định tuyến đữ liệu multicast Router trong mang đảm bảo rằng gói dữ liệu multicast được chuyên tiếp đúng cách từ server đến tất cả các client trong nhóm multicast

Điều này đòi hỏi router phải hỗ trợ giao thức IP multicast và được cấu hình sao cho định tuyến dit ligu multicast dung cach

2.4 Chức năng của Server — CHent

Chức năng của server và client trong việc kết nói thông qua socket multicast phụ

thuộc vào yêu cầu cụ thê của ứng dụng và quá trình trao đối thông tin giữa ho Server

là nguồn chính của dữ liệu và quản lý nhóm multicast, trong khi client nhận dữ liệu

và có thê thực hiện xử lý đữ liệu hoặc tương tác với server băng cách gửi yêu cầu

hoặc phản hồi

2.4.1 Máy chủ (Server)

Phát đữ liệu: Server là nguồn đữ liệu chính trong hệ thống Chức năng chính của

server là phát dữ liệu hoặc thông tin đến tat ca cac client trong nhom multicast Server

sử dung socket multicast dé gửi dữ liệu đến địa chỉ IP multicast cụ thể mà tất cả client

đang tham gia

Quản lý nhóm multicast: Server cần tham gia vào nhóm multicast bằng cách sử

dung dia chi IP multicast cu thé Server citing có thê thực hiện việc quản lý và cập

nhật nhóm multicast, bao gồm việc thêm client mới vào nhóm hoặc loại bỏ client ra

khỏi nhóm

Xử lý yêu cầu từ client: Server có thể cung cấp các địch vụ phụ khác cho client,

Trang 7

bên cạnh việc phát dữ liệu Ví dụ, server có thê xử lý yêu câu từ client, cung cap

thông tin đặc biệt hoặc thực hiện các tính toán phía máy chủ

2.4.2 Máy khách (Client)

Nhận dữ liệu: Chức năng chính của client là tham gia vao nhom multicast va nhận dữ liệu từ server thông qua socket multicast Client liên kết socket UDP của mình với công và địa chỉ IP multicast mà server đã sử dụng

Xử lý dữ liệu nhận được: Client cd thê thực hiện xử lý dữ liệu nhận được tử server Điều này có thế bao gồm việc hiển thị thông tin, xử lý và trình bày đữ liệu cho người dùng hoặc tiến hành các tính toán phía client

Gửi yêu cầu hoặc phản hồi: Client có thế gửi yêu cầu hoặc phản hồi cho server thông qua các kết nối khác, không phải thông qua socket multicast

Điều này cho phép client tương tác với server trong các tình huống cụ thể ngoài việc nhận dữ liệu multicast

Trang 8

Chương 3: KÉT QUÁ THỰC NGHIỆM 3.1 Công nghệ sử dụng

3.1.1 Ngôn ngữ lập trình

Java: Java cung cấp hỗ trợ mạnh mẽ cho socket multicast thông qua giao diện

MulticastSocket Bạn có thể sử dụng Java đề triển khai cả server và client

Hệ điều hành:

Hầu hết các hệ điều hành hiện đại (Windows, Linux, macOS) déu hé tro socket

multicast Điều này cho phép triển khai ứng dụng socket multicast trên nhiều nền

tảng khác nhau

3.1.2 Giao thức mạng:

Socket multicast thường dựa trên giao thire UDP (User Datagram Protocol) UDP

là giao thức không đảm bảo độ tin cậy, nhưng phù hợp với các ứng đụng yêu cầu

truyền đữ liệu nhanh chóng và không cần độ tin cậy cao

Cấu hình Mạng:

Đề hỗ trợ socket multicast, mạng cần được cấu hình đúng cách để đảm bảo định

tuyến gói dữ liệu multicast đến tất cả các thiết bị trong nhóm multicast Điều này

đòi hỏi router phải hỗ trợ giao thức IP multicast và cấu hình multicast routing

Giao thire IP Multicast:

Socket multicast str dung giao thirc IP multicast dé quan lý và định tuyến đữ liệu

multicast trong mạng Giao thức nảy quan trọng để đảm bảo gói dữ liệu multicast

Trang 9

được chuyên tiếp đúng cách trong mạng

Trang 10

3.1.2 Thư viện

Thư viện lớp co so (Base Class Library - BCL): Chứa các lớp và phương thức

cơ bản đề thực hiện các chức năng chung như xử lý chuỗi, toán học, cấu trúc đữ liệu,

thao tác với tệp, và nhiều chức năng khác Tất cả đều được chứa trong namespace

System Đồng thời, nó chứa một số tính năng không chuẩn như LINQ, ADO.NET (đối với tương tác cơ sở đữ liệu), khả năng vẽ, biểu mẫu và hỗ trợ web

3.1.2.1 java.awt.EventQueue

Thư viện này chứa lớp EventQueue, được sử đụng đề quản lý và phân phối sự kiện trong ứng dụng EventQueue quản lý hàng đợi sự kiện và loại bỏ chúng một cách tuần tự

Trang 11

Thư viện nay chia lop JTextPane, HTMLDocument, va HTMLEditorKit

Chúng được sử dụng đề hiển thị và quản lý nội dung HTML trong giao điện người

dùng

3.1.2.8 data.DataFile:

là một custom class hoặc package trong ứng dụng của bạn Chức năng cụ thế của nó phụ thuộc vào cách bạn đã triển khai nó Thường thì các custom classes như

vậy được tạo ra dé quản lý dữ liệu hoặc thực hiện logic img dung cu thé

3.1.2.9 tags Decode và tags.Encode:

Nhu day 1a cac custom classes hoadc package trong ứng dụng của bạn

Chúng có thể được sử dụng đề mã hóa và giải mã dữ liệu hoặc thực hiện các

chức năng khác liên quan đên việc gửi và nhận dữ liệu qua mạng

3.1.2.10 tags Tags:

một custom class hoặc package trong ứng dụng của bạn Chức năng cụ thể của

nó phụ thuộc vào cách bạn đã triển khai nó Thường thì các custom classes như vậy

được sử đụng đề xác định các thẻ hoặc giao thức trong việc giao tiếp giữa các thành

phần của ứng dụng

Trang 12

3.1.2.11 java.io IOException:

Đây không phải là một thư viện mà là một lớp trong Java Nó được sử dụng đề

xử lý các ngoại lệ liên quan đến I/O (Input/Output) Khi xảy ra lỗi trong quá trình đọc

hoặc ghi dữ liệu, IOException được ném, và bạn có thế xử lý nó để báo cáo lỗi hoặc

Thư viện này cung cấp lớp ObjectOutputStream, được sử đụng đề ghi đối

tượng Java vào luồng đữ liệu đầu ra Điều này cho phép bạn gửi đối tượng qua

mạng hoặc lưu trữ chúng trong tệp

3.1.2.14 java.net InetAddress:

Thư viện này cung cấp lớp InetAddress, được sử dụng đề biểu diễn địa chi IP của một máy tính hoặc thiết bị trong mạng Nó cho phép bạn làm việc với địa chỉ IP vả tên miễn

3.1.2.15 Java.net.InetSocketAddress:

Thư viện này cung cấp lớp SocketAddress, được sử dụng đề biểu diễn một địa

chỉ mạng trừu tượng Nó được sử dụng đề thiết lập kết nỗi mạng tới một địa chỉ cụ thé

3.1.2.16 java.awt.GridLayout:

Thu vién nay cung cap giao dién GridLayout, dung dé sap xép cac thanh phan

giao diện trong lưới (grid) có số hàng và cột xác định

3.1.2.17 java.awt.SystemColor:

Thư viện này cho phép bạn truy cập các màu hệ thống được sử dụng trong giao

diện người dùng, chăng hạn như màu nên của cửa số hoặc màu văn bản mặc định

3.1.2.18 Java.awt.event:

Trang 13

Thư viện này chứa các lớp và giao diện liên quan đến xử lý sự kiện như

ActionListener, MouseAdapter, WindowListener Các lớp và giao diện này được sử

dụng dé dap ứng các sự kiện như nhân nút, di chuyên chuột, hoặc sự kiện cửa số

3.1.2.19 java.io Buffered Writer:

Thư viện này cung cấp lớp BufredWriter, được sử đụng đề ghi đữ liệu văn bản vào tệp với hiệu suất cao BufferedWriter cải thiện hiệu năng ghi dữ liệu so với việc sử

dụng FileWrtter

3.1.2.20 java.io.File Writer:

Thư viện này cung cấp lớp FileWriter, dùng đề ghi dữ liệu văn bản vào tệp Bạn

có thê sử dụng nó dé tao và ghi dữ liệu vào tệp văn bản

3.1.2.21 Java.net.Inet4+Address:

Thư viện này cung cấp lớp Inet4Address, được sử đụng đề đại diện cho địa chi

IPv4 Bạn có thể sử dụng nó đề làm việc với dia chi IP IPv4

3.1.2.22 Java.net.UnknownHostException:

Thư viện này chứa lớp UnknownHostException, được sử dụng để xử lý các

ngoại lệ liên quan đến việc không tìm thấy địa chỉ IP cho một tên miền hoặc máy chủ

cụ thê

3.1.2.23 javax.swing border:

Thư viện này cung cấp các lớp và giao diện liên quan đến việc định rào xung

quanh thành phần giao diện như EmptyBorder, EtchedBorder, TiledBorder Chúng

được sử đụng đề thiết lập đường biên và viền xung quanh các thành phần giao diện

3.1.2.24 javax.swing BoxLayout:

Thư viện này cung cấp lớp BoxLayout, dùng đề quản lý việc xếp chồng các

thành phần giao điện người dùng theo hướng ngang hoặc dọc Nó giúp bạn thiết kế giao diện linh hoạt băng cách định hướng và tỷ lệ kích thước của các thành phân

3.1.2.25 javax.swing.JButton:

Thư viện này cung cấp lớp JButton, đại diện cho một nút hoặc nút nhắn trong

Trang 14

giao diện người dùng JButton được sử dụng để tạo các nút hoặc nút nhắn ma người

dùng có thể nhắn đề kích hoạt các hành động hoặc chức năng

3.1.2.26 javax.swing JFrame:

Thư viện này cung câp lớp JFrame, đại diện cho cửa sô giao diện chính của ứng

dụng JFrame cho phép bạn tạo cửa số ứng dụng và quản lý giao diện của nó

3.1.2.27 javax.swing JLabel:

Thư viện này cung cấp lớp JLabel, được sử đụng đề hiền thị văn bản hoặc hình

ảnh tĩnh trong giao điện người dùng JLabel thường được sử dụng đề hiển thị thông tin

hoặc nhãn cho các thành phần khác

3.1.2.28 javax.swing JPanel:

Thư viện này cung cấp lớp JPanel, được sử dụng để tạo và quản lý các khu vực

con của giao diện người dùng JPanel cho phép bạn nhóm và sắp xếp các thành phần

giao diện trong một khu vực cụ thé

3.1.2.29 javax.swing.JScrollPane:

Thư viện này cung cấp lớp JScrollPane, được sử dụng đề tạo thanh cuộn cho các thành phần giao diện, như JTextArea hoặc JL1st, khi nội dung vượt quá kích thước hiển thị

3.1.2.30 javax.swing.JTextArea:

Thư viện này cung cấp lớp JTextArea, dùng đề hiển thị hoặc nhập văn bản đa

dòng trong giao diện người dùng JTextArea thường được sử dụng khi bạn cần cho

phép người dùng nhập hoặc xem nhiều dòng văn bản

3.1.2.31 javax.swing.JTextField:

hư viện này cung cấp lớp JTextField, được sử dụng đề nhập hoặc hiển thị văn

bản ngắn trong giao điện người dùng JTextField thường được sử dụng cho các ô nhập

liệu ngắn

3.1.2.32 javax.swing border:

Thư viện này cung cap các lớp và giao diện liên quan đên việc định rào xung

Ngày đăng: 18/11/2024, 20:20

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

TÀI LIỆU LIÊN QUAN

w