1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Đồ Án môn học chương trình hội thảo từ xa sử dụng phương thức tcpip và mô hình client serve

9 0 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 9
Dung lượng 273,66 KB

Nội dung

Chương 1: Sơ Lược Về Lập Trình Mạng 1.1 Khái Niệm Lập Trình Mạng Lập trình mạng là một lĩnh vực của khoa học máy tính và công nghệ thông tin, nơi các ứng dụng và hệ thống được thiết kế

Trang 1

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN &

TRUYỀN THÔNG VIỆT HÀN

Khoa Khoa Học Máy Tính

ĐỒ ÁN MÔN HỌC CHƯƠNG TRÌNH HỘI THẢO TỪ XA SỬ DỤNG PHƯƠNG THỨC TCP/IP VÀ MÔ

HÌNH CLIENT SERVE

Sinh viên thực hiện: Doãn Quốc Tuấn Lớp : 22ITE

Trang 2

Chương 1: Sơ Lược Về Lập

Trình Mạng

1.1 Khái Niệm Lập Trình Mạng

Lập trình mạng là một lĩnh vực của khoa học máy tính và công nghệ thông tin, nơi các ứng dụng và hệ

thống được thiết kế để giao tiếp với nhau qua mạng Mục đích của lập trình mạng là cho phép các thiết

bị và ứng dụng trao đổi thông tin, giúp thực hiện các chức năng từ xa, quản lý dữ liệu, và đồng bộ hóa giữa các hệ thống khác nhau

Các ứng dụng lập trình mạng đóng vai trò quan trọng trong các dịch vụ hiện đại như web, ứng dụng di động, điện toán đám mây và IoT Để lập trình mạng hiệu quả, người lập trình phải hiểu các mô hình mạng, giao thức, công nghệ và ngôn ngữ phù hợp

Lập trình mạng nói một cách dễ hiểu là công việc của người sẽ phát triển ứng dụng tại hệ thống doanh nghiệp từ việc lập sổ sách nhân sự, quản lý tiền cho đến việc sáng tạo các trò chơi, điều khiển để thêm sức hấp dẫn thu hút hơn

Công thức để xây dựng lập trình mạng như sau:

Lập trình mạng = Kiến thức mạng + Mô hình lập trình mạng + Ngôn ngữ lập trình mạng

Theo công thức này thì sẽ rất dễ nhận thấy ba vấn đề chính cần quan tâm là kiến thức mạng truyền thông, mô hình lập trình và ngôn ngữ lập trình

Về kiến thức mạng truyền thông thì đây là kiến thức chung về mạng di động: mạng Bluetooth, hệ thống GPS, mạng Sensor… mà người làm quản trị cần nắm vững cách sử dụng để khai thác

Mô hình lập trình là kiến thức về tất cả các cách xây dựng hệ thống mạng, kiến thức về cơ sở dữ liệu, mô hình xây dựng các chương trình ứng dụng mạng

Mạng là gì ?

Với mục đích phân tích và nghiên cứu quá trình giao tiếp, Mạng máy tính đã được tạo ra như một bước tiến mới trong lịch sử Bởi nó liên kết toàn bộ các hệ thống máy tính khác nhau để trao đổi thông tin cần thiết

Do đó, việc kết nối mạng chỉ thực hiện được khi có mạng riêng của nó Có 4 loại mạng cơ bản là: LAN, MAN, WAN và PAN Người dùng cần chú ý cơ chế hoạt động của các mạng để lựa chọn phát triển

chương trình mạng được tốt nhất

Trang 3

Hình 1 Mạng

Mạng LAN (Local Area Network)

Mạng LAN là mạng cục bộ nên có đường truyền ngắn Với giao thức TCP/IP, mạng LAN chủ yếu được sử dụng tại nơi diện tích nhỏ như: văn phòng, tòa nhà, trường học

Tất cả máy tính kết nối mạng LAN đều được sử dụng để kết nối vào máy chủ sau đó chờ quyền truy cập

để thực hiện lệnh in trên máy in

Hình 2 Local Area Network

Mạng MAN (Metropolitan Area Network)

Khác với mạng LAN, mạng đô thị MAN có phạm vị kết nối rộng hơn, hình thành nhờ sự kết nối nhiều mạng LAN với nhau

Đây là mô hình rộng cung cấp dịch vụ giá trị gia tăng; trên một đường truyền tốc độ nhanh để kết nối và

mở rộng triển khai các doanh nghiệp với nhau

Trang 4

Hình 3 Metropolitan Area Network

Mạng WAN (Wide Area Network)

Mạng diện rộng WAN là sự kết hợp giữa mạng LAN và mạng MAN với việc sử dụng đường dây cáp quang hay thuê bao hoặc thông qua đường truyền vệ tinh

Phạm vi hoạt động của mạng rộng lớn hơn, bao gồm cả một quốc gia, khu vực địa lý hay thậm chí ở toàn cầu

Hình 4 Wide Area Network

Mạng PAN (Personal Area Network)

Mạng PAN có khả năng phát tín hiệu kết nối trong một diện tích nhỏ để truyền dữ liệu thông qua mạng trực tuyến

Trang 5

Hình 5 Personal Area Network

Cá nhân có thể sử dụng mạng PAN giữa các thiết bị với nhau như di động máy tính để liên lạc thuận lợi hơn hoặc kết nối với các mạng cao cấp hơn

1.2 Các Mô Hình Mạng

Trong lập trình mạng, có hai mô hình chính:

a Mô Hình Mạng (Network Model)

Mô hình mạng là cấu trúc lý thuyết chia các tầng giao tiếp trong mạng nhằm tối ưu hóa việc truyền tải và

xử lý dữ liệu Hai mô hình chính thường được sử dụng là:

Mô hình OSI (Open Systems Interconnection): Chia thành 7 tầng gồm Application, Presentation,

Session, Transport, Network, Data Link, và Physical Mô hình này giúp chuẩn hóa các giao tiếp mạng và tạo ra tính nhất quán trong các hệ thống khác nhau

Mô hình TCP/IP: Đây là mô hình thực tế phổ biến với 4 lớp chính: Application, Transport,

Internet, và Network Access TCP/IP là nền tảng chính cho Internet và hầu hết các mạng hiện đại, đảm bảo kết nối và truyền dữ liệu liên tục

b Mô Hình Ứng Dụng (Application Model)

Mô hình ứng dụng định hướng cách thức các ứng dụng giao tiếp với nhau qua mạng Một số mô hình phổ biến bao gồm:

Mô hình Client-Server (Máy khách – Máy chủ): Máy khách (client) gửi yêu cầu đến máy chủ

(server), sau đó máy chủ xử lý và trả lại kết quả Mô hình này phổ biến trong các ứng dụng web, dịch vụ email, và cơ sở dữ liệu

Trang 6

Mô hình Peer-to-Peer (P2P): Trong mô hình này, các thiết bị hoạt động như các "nút" mạng có

thể vừa yêu cầu vừa cung cấp dịch vụ P2P thích hợp cho chia sẻ dữ liệu trực tiếp như các ứng dụng torrent hoặc giao tiếp giữa các thiết bị IoT

1.3 Các Giao Thức: Ưu, Nhược Điểm và Ví Dụ

Các giao thức mạng là những quy tắc định dạng và xử lý dữ liệu trong mạng Dưới đây là một số giao thức phổ biến cùng ưu, nhược điểm:

TCP (Transmission

Control Protocol) Đảm bảo dữ liệu khôngmất mát, đúng thứ tự Tốc độ chậm do quá trình kiểm tra lỗi Truyền file, email, truyền tải dữ liệu ngân

hàng

UDP (User Datagram

Protocol) Nhanh chóng do không kiểm tra lỗi Không đảm bảo tính chính xác của dữ liệu Game trực tuyến, videostream

HTTP (Hypertext

Transfer Protocol) Dễ triển khai, phổ biến cho ứng dụng web Không mã hóa dữ liệu Trình duyệt web, API

HTTPS (HTTP Secure) Bảo mật cao qua

SSL/TLS Tốc độ thấp hơn HTTP Các website thương mại điện tử, ngân hàng

FTP (File Transfer

Protocol) Quản lý và truyền tải file hiệu quả Không bảo mật (trừ khi dùng SFTP) Truyền tải dữ liệu lớn giữa các máy chủ

SMTP (Simple Mail

Transfer Protocol) Chuyên dùng để gửi email Thiếu bảo mật, cần mã hóa bổ sung Email clients (Outlook, Gmail)

1.4 Giới Thiệu Công Nghệ

Để lập trình mạng hiệu quả, các ngôn ngữ lập trình, thư viện và cơ sở dữ liệu đóng vai trò quan trọng Dưới đây là một số công nghệ phổ biến và ngắn gọn về công dụng của chúng trong lập trình mạng: Ngôn ngữ lập trình: Các ngôn ngữ phổ biến bao gồm Java, Python, C++, và Go Các ngôn ngữ này có thư viện mạnh mẽ cho việc quản lý kết nối, xây dựng và xử lý các giao thức mạng

Cơ sở dữ liệu: Các hệ quản trị cơ sở dữ liệu như MySQL, PostgreSQL, MongoDB thường được sử dụng để lưu trữ thông tin về người dùng, dữ liệu ứng dụng và đảm bảo tính nhất quán giữa các phiên làm việc của người dùng

Ví Dụ về Java trong Lập Trình Mạng

Trong Java, có nhiều thư viện và lớp hỗ trợ mạnh mẽ cho lập trình mạng:

Trang 7

Thư viện java.net: Đây là thư viện tích hợp sẵn trong Java, hỗ trợ lập trình socket, quản lý URL và các

giao thức phổ biến

Lớp Socket: Hỗ trợ kết nối TCP, giúp tạo socket cho kết nối giữa client và server.

Lớp ServerSocket: Được sử dụng cho phía server để chấp nhận các kết nối từ client.

Chương 2 Phân tích thiết kế hệ thống

1 Giới thiệu bài toán

Bài toán ở đây là xây dựng một hệ thống gọi điện video và âm thanh qua mạng bằng Java, sử dụng giao thức TCP/IP, OpenCV để xử lý video và Java Sound API để xử lý âm thanh Hệ thống cần cho phép hai người dùng gọi video và audio qua lại trên một mạng bằng cách kết nối client và server

2 Mục tiêu và yêu cầu của hệ thống

Hệ thống sẽ bao gồm các chức năng cơ bản sau:

Kết nối giữa hai máy:

Người dùng có thể kết nối với nhau thông qua giao thức TCP/IP, sử dụng mô hình client-server

Xác định các cổng mạng (ví dụ: cổng 5000) để truyền video và âm thanh

Truyền video thời gian thực:

Sử dụng webcam để ghi hình và truyền hình ảnh qua mạng

Hiển thị video từ máy người dùng và từ máy bên kia trong giao diện

Truyền âm thanh thời gian thực:

Sử dụng micro để ghi âm và truyền âm thanh qua mạng

Phát âm thanh từ người gọi và người nhận để mô phỏng cuộc gọi thoại trực tiếp

Giao diện người dùng:

Giao diện đơn giản với các nút bấm như "Gọi" và "Hủy kết nối"

Trang 8

Hiển thị video của hai máy khi đang trong cuộc gọi.

Trạng thái và nhật ký kết nối hiển thị để thông báo trạng thái cuộc gọi

3 Các chức năng chính

Hệ thống được thiết kế để có thể triển khai các chức năng sau:

Chức năng Kết nối và Khởi tạo cuộc gọi:

Cho phép người dùng thiết lập kết nối với máy chủ hoặc thiết lập máy như một server

Kết nối các luồng âm thanh và video sau khi người dùng chọn “Gọi”

Khởi tạo server và client đồng thời cho phép cả hai bên nhận và gửi dữ liệu

Chức năng truyền video và âm thanh:

Truyền Video:

Sử dụng OpenCV để ghi lại hình ảnh từ webcam và nén thành các gói ảnh

Truyền các gói ảnh này qua giao thức TCP tới client/server

Hiển thị video từ cả hai phía

Truyền Âm thanh:

Sử dụng Java Sound API để ghi lại âm thanh từ micro

Chuyển âm thanh thành các gói byte và truyền qua TCP

Phát lại các gói âm thanh này thông qua loa của máy bên kia

Chức năng Giao diện Người dùng (UI):

Cung cấp giao diện đơn giản với các nút:

"Gọi": Khởi tạo kết nối

"Hủy kết nối": Kết thúc cuộc gọi

Hiển thị trạng thái của cuộc gọi và cho phép người dùng quan sát video từ cả máy của họ và máy bên kia Chức năng Xử lý Lỗi và Thông báo Trạng thái:

Thông báo lỗi nếu không thể kết nối được hoặc mất kết nối giữa chừng

Trang 9

Hiển thị thông báo khi một người dùng rời cuộc gọi hoặc khi máy không nhận được dữ liệu.

4 Mô hình hệ thống

Hệ thống được chia thành ba lớp chính:

Lớp Media:

Xử lý các hoạt động về âm thanh và video, bao gồm ghi và phát lại, gửi và nhận dữ liệu qua mạng Các lớp chính gồm AudioSender, AudioReceiver, VideoSender, và VideoReceiver

Lớp Network:

Quản lý kết nối TCP/IP giữa client và server

Các lớp chính gồm Client và Server, trong đó Server lắng nghe các yêu cầu kết nối và Client khởi tạo cuộc gọi

Lớp UI:

Quản lý giao diện người dùng, bao gồm các nút chức năng như “Gọi” và “Hủy kết nối”

Giao diện sẽ hiển thị cả video và trạng thái kết nối

5 Lưu đồ hoạt động cơ bản của hệ thống

Dưới đây là lưu đồ hoạt động cơ bản:

Bước 1: Người dùng chọn "Gọi" trên giao diện

Bước 2: Hệ thống kiểm tra IP và cổng của máy bên kia, tạo socket TCP cho client và server

Bước 3: Các luồng âm thanh và video bắt đầu truyền dữ liệu

Bước 4: Hệ thống hiển thị video và phát âm thanh từ cả hai bên

Bước 5: Người dùng có thể chọn "Hủy kết nối" để ngắt kết nối và dừng luồng truyền

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