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

Báo cáo ltm zoom pháp luật Đại cương

59 0 0
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

Định dạng
Số trang 59
Dung lượng 5,81 MB

Cấu trúc

  • CHƯƠNG 1: SƠ LƯỢC VỀ LẬP TRÌNH MẠNG (9)
    • 1.1 Khái niệm lập trình mạng (9)
    • 1.2 Các mô hình mạng (10)
      • 1.2.1 Mô hình mạng TCP/IP (4 tầng) (10)
      • 1.2.2 Mô hình mạng OSI (7 tầng) (11)
      • 1.2.3 Mô hình ứng dụng Client - Server (14)
      • 1.2.4 Mô hình ứng dụng Peer-to-peer (15)
    • 1.3 Các giao thức (16)
      • 1.3.1 Giao thức Internet Protocol Suite (TCP /IP) (17)
      • 1.3.2 Giao thức UDP (18)
      • 1.3.3 Giao thức Hypertext Transfer Protocol (HTTP) (19)
      • 1.3.4 Giao thức Simple Mail Transfer Protocol (SMTP) (20)
      • 1.3.5 Giao thức Domain Name System (DNS) (21)
      • 1.3.6 Giao thức Post Office Protocol (POP) (22)
    • 1.4 Công nghệ sử dụng trong dự án (23)
      • 1.4.1 Nextjs (23)
      • 1.4.2 Stream (24)
      • 1.4.4 Tailwind CSS (25)
  • CHƯƠNG 2: PHÂN TÍCH THIẾT KẾ HỆ THỐNG (26)
    • 2.1 Bài toán (27)
    • 2.2 Phân tích thiết kế hệ thống (28)
      • 2.2.1 Yêu cầu (28)
      • 2.2.2 Danh sách các tác nhân và mô tả các tác nhân (29)
      • 2.2.3 Xác định usecase (29)
      • 2.2.4 Biểu đồ Use Case (32)
    • 2.3 Sơ đồ tổng quát của WebSocket qua TCP (33)
    • 2.4 Sơ đồ tổng quát của WebRTC qua UDP (34)
    • 2.5 Lập sơ đồ hệ thống (35)
      • 2.5.1 Activity Diagram (35)
      • 2.5.2 Sequence Diagram (38)
  • CHƯƠNG 3: CHƯƠNG TRÌNH DEMO (41)
    • 3.1 Giao diện chính ứng dụng (41)

Nội dung

Việc sử dụng WebRTC kết hợp với các giao thức TCP và UDP cùng mô hình mạngngang hàng P2P giúp tối ưu hóa quá trình truyền tải dữ liệu, giảm thiểu độ trễ và tăngcường bảo mật.. TCP/IP Tra

SƠ LƯỢC VỀ LẬP TRÌNH MẠNG

Khái niệm lập trình mạng

Lập trình mạng là quá trình phát triển ứng dụng thông qua mạng máy tính, giúp các doanh nghiệp xây dựng hệ thống hiệu quả Các lập trình viên sử dụng phần mềm như kế toán, nhân sự, hoặc các ứng dụng giải trí để tạo ra các giải pháp phù hợp với nhu cầu của doanh nghiệp.

Lập trình mạng ngày nay đóng vai trò thiết yếu trong việc phát triển các ứng dụng tiên tiến phục vụ cho công việc Hầu hết doanh nghiệp cần các ứng dụng này để hỗ trợ nhập dữ liệu, cập nhật thông tin nhanh chóng và quản lý thu chi hiệu quả Đây là công thức phổ biến trong lập trình mạng.

+ KTM: Kiến thức mạng truyền thông, bao gồm mạng máy tính, PSTN, hệ thống GPS, mạng như BlueTooth, WUSB, mạng sensor,…

Mô hình lập trình mạng là kiến thức quan trọng liên quan đến cơ sở dữ liệu và xây dựng hệ thống mạng Các mô hình này bao gồm những hệ thống mạng máy tính phổ biến như mạng LAN, WAN, PAN và MAN.

Hiện nay, có rất nhiều ngôn ngữ lập trình phổ biến như Java, NET, C, và C++ Việc lựa chọn ngôn ngữ lập trình phù hợp phụ thuộc vào nhu cầu, khả năng và mục tiêu của từng lập trình viên.

Khoa Khoa Học Máy Tính Lê Mai Hương - 22IT.EB036

Các mô hình mạng

1.2.1 Mô hình mạng TCP/IP (4 tầng)

TCP/IP (Giao thức điều khiển truyền/ Giao thức Internet) là một bộ giao thức quan trọng cho việc trao đổi thông tin trên Internet, giúp kết nối và truyền tải dữ liệu giữa các thiết bị Được thiết kế nhằm nâng cao độ tin cậy của mạng, TCP/IP có khả năng khôi phục tự động khi xảy ra sự cố.

Trong lĩnh vực kỹ thuật mạng, Giao thức Kiểm soát Truyền tải (TCP) đóng vai trò thiết yếu trong bộ giao thức Internet, kết hợp với Giao thức Internet (IP) để xây dựng nền tảng cho việc truyền thông và kết nối trên toàn cầu.

Internet Protocol, hay còn gọi là IP, là hệ thống chịu trách nhiệm xác định và định vị địa chỉ của từng thiết bị trên mạng, bao gồm từ máy tính cá nhân đến các máy chủ quy mô lớn.

1.2.1.2 Các giao thức TCP/IP thường gặp

HTTP (Giao thức Truyền Tải Siêu Văn Bản) là giao thức cho phép truyền dữ liệu siêu văn bản không bảo mật giữa máy khách và máy chủ web, đóng vai trò là nền tảng cho World Wide Web.

HTTPS (HTTP Secure) là phiên bản bảo mật của HTTP, sử dụng SSL/TLS để mã hóa dữ liệu truyền Điều này giúp bảo vệ thông tin nhạy cảm, chẳng hạn như giao dịch thẻ tín dụng, khỏi các mối đe dọa trực tuyến.

- FTP (File Transfer Protocol): Giao thức truyền tệp tin cho phép chuyển đổi và quản lý tệp giữa các máy tính qua mạng TCP/IP.

1.2.1.3 Nguyên lý hoạt động của mô hình TCP/IP

Mô hình TCP/IP hoạt động dựa trên sự kết hợp của hai giao thức chính:

- IP (Internet Protocol): Chia dữ liệu thành các gói tin và định tuyến chúng qua mạng đến đích dựa trên địa chỉ IP.

TCP (Giao thức điều khiển truyền tải) đảm bảo tính tin cậy trong việc truyền tải dữ liệu bằng cách xác nhận và truyền lại các gói tin khi cần thiết, đồng thời duy trì thứ tự và tránh lỗi trong quá trình truyền.

Khoa Khoa Học Máy Tính Lê Mai Hương - 22IT.EB036

1.2.1.4 Chức năng của từng tầng trong mô hình TCP/IP

- Tầng 4 - Application (Tầng ứng dụng)

 Chức năng: Cung cấp các dịch vụ mạng trực tiếp cho ứng dụng của người dùng.

 Ví dụ giao thức: HTTP, HTTPS, FTP, SMTP.

- Tầng 3 - Transport (Tầng giao vận)

 Chức năng: Cung cấp truyền dữ liệu giữa các ứng dụng, quản lý kết nối và đảm bảo tính tin cậy.

 Ví dụ giao thức: TCP, UDP.

 Chức năng: Định địa chỉ IP và định tuyến các gói tin qua mạng đến đích.

 Ví dụ giao thức: IP (IPv4, IPv6), ICMP

- Tầng 1 – Physical (Tầng vật lý)

 Quản lý kết nối vật lý giữa các thiết bị mạng, xử lý giao tiếp với phần cứng và truyền dữ liệu qua các phương tiện truyền dẫn.

 Ví dụ giao thức: Ethernet, Wi-Fi.

1.2.2 Mô hình mạng OSI (7 tầng)

1.2.2.1 Khái niệm mô hình OSI

Mô hình OSI (Open Systems Interconnection Reference Model) hay Mô hình tham chiếu kết nối các hệ thống mở, là một cấu trúc thiết kế theo nguyên lý tầng cấp Mô hình này giải thích một cách trừu tượng về kỹ thuật kết nối truyền thông giữa các máy tính và thiết kế giao thức mạng giữa chúng.

Mô hình này được phát triển thành một phần trong kế hoạch Kết nối các hệ thống mở (Open Systems Interconnection) do ISO và IUT-T khởi xướng.

1.2.2.2 Mô hình OSI có mấy tầng?

Mô hình OSI chia quá trình truyền thông mạng thành 7 tầng khác nhau, mỗi tầng đảm nhiệm chức năng và nhiệm vụ riêng biệt Sự tương tác giữa các tầng này giúp đảm bảo việc truyền thông dữ liệu diễn ra hiệu quả Các tầng trong mô hình OSI bao gồm:

Khoa Khoa Học Máy Tính Lê Mai Hương - 22IT.EB036

- Tầng Vật lý (Physical layer): Đảm bảo truyền dữ liệu qua các phương tiện truyền thông vật lý, như cáp, sóng radio, hoặc sợi quang.

Tầng Liên kết Dữ liệu (Data Link Layer) đóng vai trò quan trọng trong việc quản lý truyền dữ liệu giữa các thiết bị trên một đường truyền vật lý nhất định Tầng này đảm bảo tính toàn vẹn của dữ liệu và thực hiện kiểm soát lỗi, giúp duy trì sự ổn định và độ tin cậy trong quá trình truyền thông.

- Tầng Mạng (Network layer): Định địa chỉ IP cho các thiết bị, định tuyến dữ liệu và quản lý mạng.

- Tầng Giao vận (Transport layer): Đảm bảo việc truyền dữ liệu tin cậy giữa các thiết bị, kiểm soát luồng dữ liệu và phân đoạn.

- Tầng Phiên (Session layer): Quản lý việc thiết lập, duy trì và kết thúc phiên truyền thông giữa các ứng dụng.

- Tầng Trình diễn (Application layer): Cung cấp các dịch vụ truyền thông cho các ứng dụng, như truyền tệp, truyền thư điện tử, hoặc truyền hình ảnh.

1.2.2.3 Chức năng của các tầng trong mô hình OSI

- 7 tầng trong mô hình OSI còn có thể chia thành 2 nhóm lớn là tầng trên và tầng dưới

 Tầng trên: (Application - Presentation - Seesion - Transport)

Tầng ứng dụng trong mô hình 7 tầng OSI là tầng cao nhất, chủ yếu tập trung vào các vấn đề liên quan đến ứng dụng và được triển khai trong phần mềm Đây là tầng gần gũi nhất với người dùng cuối, nơi người dùng và tầng ứng dụng tương tác trực tiếp với các ứng dụng phần mềm.

 Tầng dưới (Physical - Data Link - Network)

Tầng dưới của mô hình OSI chịu trách nhiệm cho việc vận chuyển dữ liệu, bao gồm lớp liên kết dữ liệu và lớp vật lý, được thực hiện thông qua cả phần cứng và phần mềm.

1 Tầng Vật lý - Physical Layer : Là tầng thấp nhất trong các tầng OSI, đảm bảo việc truyền dữ liệu qua môi trường vật lý và không quan tâm đến nội dung hay ý nghĩa của dữ liệu Nó tạo ra một đường truyền vật lý ổn đỉnh và đáng tin vậy để các tầng cao hơn có thể gửi và nhận các gói tin dữ liệu.

Khoa Khoa Học Máy Tính Lê Mai Hương - 22IT.EB036

2 Tầng Liên kết dữ liệu - Data Link Layer : Là tầng thứ hai trong mô hình OSI.

Tầng liên kết dữ liệu đảm bảo truyền dữ liệu an toàn qua các đường truyền vật lý và xác định địa chỉ vật lý (MAC address) Tầng này cung cấp dịch vụ cho tầng mạng và bao gồm hai phân lớp con: Lớp LLC (Logical Link Control) và lớp MAC (Media Access Control).

3 Tầng mạng - Network Layer : Là tầng thứ ba trong mô hình OSI Tầng này có trách nhiệm quản lý việc định tuyến và chuyển tiếp dữ liệu giữa các mạng khác nhau trong hệ thống mạng Tầng Mạng cung cấp các dịch vụ cho tầng trên và tầng Giao vận và tầng dưới là tầng Liên kết dữ liệu.

Tầng Mạng là tầng quan trọng trong mô hình OSI, vì nó đảm bảo việc định tuyến và chuyển tiếp dữ liệu giữa các mạng khác nhau.

4 Tầng Giao vận - Transport Layer : Là tầng thứ tư trong mô hình OSI, có trách nhiệm dữ liệu truyền đi là đáng tin cậy Nó tạo điều kiện cho việc giao tiếp hiệu quả và đáng tin cậy giữa các ứng dụng, bất kể sử dụng các mạng hoặc thiết bị khác nhau.

Các giao thức

Khoa Khoa Học Máy Tính Lê Mai Hương - 22IT.EB036

1.3.1 Giao thức Internet Protocol Suite (TCP /IP)

Giao thức Internet Protocol Suite (TCP/IP) là bộ giao thức mạng cơ bản, phổ biến trên Internet và trong các mạng máy tính hiện nay Bộ giao thức này thiết lập tiêu chuẩn cho việc kết nối và quản lý các thiết bị trong mạng, đồng thời đảm bảo quá trình truyền tải dữ liệu hiệu quả.

Bộ giao thức này bao gồm hai phần chính:

Giao thức điều khiển truyền tải (TCP) là một thành phần quan trọng trong việc quản lý việc truyền tải dữ liệu giữa các thiết bị trên mạng một cách đáng tin cậy TCP đảm nhiệm việc phân đoạn dữ liệu, đảm bảo rằng thông tin được chuyển giao một cách chính xác và đầy đủ, đồng thời quản lý các kết nối giữa các thiết bị để tối ưu hóa hiệu suất truyền tải.

Giao thức Internet (IP) là thành phần trong TCP/IP có vai trò quản lý việc định tuyến dữ liệu qua mạng IP chịu trách nhiệm xác định địa chỉ của các thiết bị trong mạng, được gọi là địa chỉ IP, và thực hiện việc định tuyến dữ liệu từ nguồn đến đích thông qua nhiều thiết bị mạng khác nhau.

 Phổ biến và linh hoạt: TCP/IP là bộ giao thức tiêu chuẩn cho Internet, đảm bảo tương thích giữa các hệ thống mạng khác nhau.

 Mô hình phân lớp: Chia thành các lớp (Link, Internet, Transport,

Application) giúp dễ quản lý, sửa lỗi và mở rộng.

 Đáng tin cậy: TCP đảm bảo dữ liệu được truyền đầy đủ và theo thứ tự nhờ cơ chế kiểm tra lỗi và xác nhận gói tin.

 Phức tạp: TCP/IP có cấu trúc phân lớp khá phức tạp, yêu cầu kiến thức sâu rộng để hiểu và cấu hình đúng.

Khoa Khoa Học Máy Tính Lê Mai Hương - 22IT.EB036

 Tốc độ: Việc kiểm tra và xác nhận gói tin ở TCP làm giảm tốc độ so với các giao thức không kết nối như UDP.

 Tiêu tốn tài nguyên: Việc xử lý các giao thức trong bộ TCP/IP yêu cầu tài nguyên hệ thống cao hơn.

UDP (User Datagram Protocol) là một giao thức truyền tải dữ liệu không đáng tin cậy, hoạt động trên nền tảng giao thức IP Giao thức này thường được sử dụng cho các ứng dụng cần tốc độ truyền tải nhanh và hiệu suất cao, bao gồm truyền tải âm thanh, video trực tiếp và trò chơi trực tuyến.

Số cổng nguồn (Source Port Number) là một trường 16 bit (2 byte) trong gói tin UDP, giúp xác định số cổng của ứng dụng hoặc dịch vụ gốc gửi gói tin.

The Destination Port Number is a 16-bit (2-byte) field that specifies the destination port of a UDP packet This port number identifies the target application or service that will receive the packet.

Độ dài UDP là một trường 16 bit (2 byte) dùng để xác định kích thước của gói tin UDP, tính bằng byte, bao gồm cả tiêu đề và dữ liệu Giá trị tối đa của độ dài UDP có thể lên tới 65,535 byte.

Checksum là một trường 16 bit (2 byte) được sử dụng trong gói tin UDP để đảm bảo tính toàn vẹn của dữ liệu Giá trị checksum được tính toán dựa trên nội dung của gói tin, bao gồm cả tiêu đề và dữ liệu, thông qua thuật toán kiểm tra tổng.

 Tốc độ cao: Do không yêu cầu xác nhận, UDP nhanh hơn TCP, phù hợp với các ứng dụng yêu cầu độ trễ thấp.

Khoa Khoa Học Máy Tính Lê Mai Hương - 22IT.EB036

 Không tiêu tốn nhiều tài nguyên: UDP ít tiêu thụ băng thông hơn và không yêu cầu các thủ tục xử lý kết nối phức tạp.

 Đơn giản và hiệu quả: Dễ dàng triển khai, đơn giản trong việc gửi và nhận dữ liệu.

 Thiếu độ tin cậy: Không có cơ chế đảm bảo gói tin được nhận, gói có thể bị mất, trùng hoặc đến sai thứ tự.

 Không có kiểm soát lưu lượng: Không kiểm soát lưu lượng như TCP, nên dễ gặp tình trạng tắc nghẽn nếu mạng không đủ băng thông.

 Không có bảo mật tích hợp: Dữ liệu không được mã hóa và bảo vệ trong quá trình truyền tải.

1.3.3 Giao thức Hypertext Transfer Protocol (HTTP)

Giao thức Hypertext Transfer Protocol (HTTP) là một trong những giao thức quan trọng nhất của Internet, đóng vai trò thiết yếu trong việc truyền tải dữ liệu trên web HTTP cho phép truyền tải các loại tài nguyên như trang web, hình ảnh, video, âm thanh và nhiều nội dung khác qua mạng Internet.

Mô hình yêu cầu/đáp ứng (request/response) giữa máy khách và máy chủ là cơ sở hoạt động của web Khi bạn nhập địa chỉ web vào trình duyệt, nó sẽ gửi yêu cầu đến máy chủ web qua giao thức HTTP Máy chủ sau đó phản hồi bằng cách gửi dữ liệu yêu cầu, như trang web hoặc tài nguyên, trở lại trình duyệt của bạn.

Các phiên bản HTTP khác nhau, bao gồm HTTP/1.0, HTTP/1.1, HTTP/2 và HTTP/3, đã mang đến nhiều cải tiến về hiệu suất và tốc độ truyền tải Cụ thể, HTTP/2 cho phép tải trang web nhanh hơn nhờ kỹ thuật multiplexing, giúp truyền tải nhiều yêu cầu và đáp ứng đồng thời trên một kết nối Trong khi đó, HTTP/3 sử dụng giao thức QUIC để nâng cao hiệu suất và bảo mật.

Khoa Khoa Học Máy Tính Lê Mai Hương - 22IT.EB036

 Đơn giản và dễ sử dụng: HTTP dễ hiểu, triển khai, và là giao thức chuẩn cho giao tiếp web.

 Khả năng mở rộng cao: HTTP có thể mở rộng để truyền tải nhiều dạng nội dung (văn bản, hình ảnh, video).

 Kết nối tạm thời: HTTP là giao thức không trạng thái (stateless), giúp giảm tải cho server vì không cần duy trì kết nối sau mỗi yêu cầu.

 Thiếu bảo mật: HTTP không mã hóa dữ liệu, dễ bị nghe lén, làm cho thông tin nhạy cảm có nguy cơ bị rò rỉ.

Việc không lưu trạng thái (stateless) trong các ứng dụng gây ra khó khăn trong việc quản lý phiên giao dịch, đồng thời yêu cầu sử dụng thêm các kỹ thuật như cookie và session để duy trì thông tin cần thiết.

1.3.4 Giao thức Simple Mail Transfer Protocol (SMTP)

Giao thức Simple Mail Transfer Protocol (SMTP) là một trong những giao thức quan trọng nhất trong việc gửi và nhận email trên Internet, đảm nhiệm vai trò truyền tải email từ máy tính của người gửi đến máy chủ email của người nhận.

Khi gửi email, các client email như Gmail, Outlook và Thunderbird sử dụng giao thức SMTP để truyền tải Máy chủ SMTP của nhà cung cấp dịch vụ email xác định máy chủ email của người nhận dựa trên địa chỉ email và giao tiếp với máy chủ đó qua SMTP để gửi email Cuối cùng, máy chủ email của người nhận sẽ nhận và lưu trữ email cho người dùng.

SMTP thường sử dụng cổng 25 hoặc 587 để truyền tải email giữa các máy chủ Mặc dù đảm bảo việc gửi email, nhưng SMTP không mã hóa dữ liệu, điều này có thể gây ra rủi ro về bảo mật khi thông tin nhạy cảm như mật khẩu hoặc nội dung email bị lộ Để khắc phục vấn đề này, các biến thể như SMTPS (SMTP Secure) và giao thức TLS (Transport Layer Security) được áp dụng nhằm bảo vệ dữ liệu trong quá trình truyền tải email.

Khoa Khoa Học Máy Tính Lê Mai Hương - 22IT.EB036

 Phổ biến và dễ triển khai: SMTP là tiêu chuẩn cho việc gửi email qua mạng, dễ tích hợp vào các hệ thống email.

 Hỗ trợ nhiều định dạng nội dung: SMTP hỗ trợ gửi nhiều định dạng file đính kèm và mã hóa MIME.

 Bảo mật kém: SMTP mặc định không mã hóa, dễ bị tấn công giả mạo hoặc chặn dữ liệu.

 Giới hạn giao thức: SMTP chỉ hỗ trợ gửi email, cần kết hợp với các giao thức khác (như POP3, IMAP) để nhận email.

1.3.5 Giao thức Domain Name System (DNS)

Công nghệ sử dụng trong dự án

Next.js là một framework front-end React mã nguồn mở, cung cấp các tính năng tối ưu hóa như render phía máy chủ (SSR) và tạo trang web tĩnh Được xây dựng trên nền tảng React, Next.js sử dụng core của React và bổ sung các tính năng mới Việc triển khai SSR cho phép máy chủ truy cập và xử lý tất cả dữ liệu cần thiết cùng lúc, sau đó gửi toàn bộ trang đến trình duyệt, giúp trang web hiển thị ngay lập tức SSR giúp giảm thời gian tải trang và nâng cao trải nghiệm người dùng với khả năng phản hồi nhanh hơn.

 Mạng lại khả năng SEO tốt.

 Trải nghiệm người dùng tốt hơn.

 Làm việc với cơ chế SSG (Static Site Generation) , SSR (Server Side Rendering) và cả CSR (Client Side Rendering).

 Hỗ trợ nền React cực kì tốt.

 Hỗ trợ cấu trúc và tổ hợp một cách tối ưu.

 Hỗ trợ phát triển tính năng nhanh chóng cho việc cấu hình như: Webpack, Babel,…

 Bảo mật về dữ liệu.

 Khả năng thích ứng và đáp ứng thay đổi.

 Ít plug-in thích ứng.

Khoa Khoa Học Máy Tính Lê Mai Hương - 22IT.EB036

Next.js bị hạn chế trong việc sử dụng bộ định tuyến tệp, không cho phép bạn thay đổi cách thức giao dịch với các tuyến Do đó, để sử dụng tuyến động, bạn cần tích hợp thêm với máy chủ Node.js.

 Nextjs không cung cấp nhiều trang nhất tích hợp, để làm việc bạn cần phải tạo toàn bộ front-end từ đầu lên.

Stream là thư viện hỗ trợ phát triển ứng dụng giao tiếp thời gian thực, bao gồm chat và video call Nó cung cấp API và SDK để quản lý video, âm thanh và tin nhắn, giúp đơn giản hóa quá trình tích hợp tính năng thời gian thực vào các ứng dụng web.

Stream có hai thành phần chính:

● Stream Video: Hỗ trợ truyền tải video trực tiếp giữa các người dùng Sử dụng

WebRTC và các giao thức truyền tải khác (UDP, TCP).

● Stream Chat: Dùng để truyền tải tin nhắn và hỗ trợ giao tiếp văn bản trong thời gian thực.

Tích hợp video vào ứng dụng trở nên nhanh chóng và dễ dàng nhờ vào việc cung cấp các API và component được tối ưu hóa.

 Tùy biến cao: Cho phép tuỳ biến giao diện video theo nhu cầu của ứng dụng, từ các giao diện đơn giản đến phức tạp.

 Hỗ trợ nhiều tính năng nâng cao:

 Chia sẻ màn hình: Hỗ trợ chia sẻ màn hình, rất hữu ích cho các cuộc họp hoặc lớp học trực tuyến.

 Trò chuyện trực tiếp: Tích hợp tính năng chat cho phép người dùng nhắn tin trong cuộc gọi.

 Ghi âm và phát lại: Tùy chọn để ghi lại cuộc gọi và phát lại sau đó.

Khoa Khoa Học Máy Tính Lê Mai Hương - 22IT.EB036

Chất lượng video và âm thanh ổn định là yếu tố quan trọng, giúp đảm bảo khả năng truyền tải với độ phân giải cao và giảm thiểu độ trễ Điều này đặc biệt cần thiết trong các ứng dụng thời gian thực, nơi mà sự mượt mà và chính xác của âm thanh và hình ảnh đóng vai trò quyết định.

Chất lượng video và âm thanh trong các ứng dụng trực tuyến phụ thuộc mạnh mẽ vào kết nối mạng Trong môi trường có kết nối kém, trải nghiệm người dùng có thể bị ảnh hưởng đáng kể.

Chi phí sử dụng dịch vụ đám mây cho lưu trữ và truyền tải video có thể gia tăng đáng kể, nhất là khi số lượng người dùng tăng lên.

 Tương thích trình duyệt: Một số tính năng có thể không tương thích với tất cả các trình duyệt hoặc thiết bị, đặc biệt là chia sẻ màn hình

Clerk là một thư viện chuyên dụng cho việc xác thực và quản lý người dùng, cung cấp các tính năng như đăng nhập, đăng ký và quản lý phiên người dùng một cách an toàn Với Clerk, quá trình xây dựng tính năng bảo mật trong ứng dụng trở nên đơn giản hơn, nhờ vào các tùy chọn xác thực đa dạng như email và đăng nhập qua Google hoặc Facebook.

 Hỗ trợ xác thực dễ dàng với các tùy chọn như Google, Facebook.

 Tính năng bảo mật nâng cao: xác thực 2 bước, quản lý phiên tự động.

 Tích hợp nhanh chóng vào ứng dụng Next.js.

 Tối ưu cho bảo mật dữ liệu cá nhân người dùng.

 Phụ thuộc vào bên thứ ba, có thể gây lo ngại về quyền riêng tư.

 Có chi phí cho các tính năng nâng cao.

 Yêu cầu internet để xác thực, không khả dụng offline.

Khoa Khoa Học Máy Tính Lê Mai Hương - 22IT.EB036

Tailwind CSS là một framework CSS giúp tăng tốc quá trình phát triển giao diện nhờ vào các lớp tiện ích có sẵn Thay vì phải viết CSS tùy chỉnh, người dùng có thể áp dụng trực tiếp các lớp này trong HTML để định dạng giao diện một cách nhanh chóng và hiệu quả.

 Tăng tốc độ phát triển nhờ các lớp tiện ích sẵn có.

 Tùy chỉnh cao với cấu hình và chủ đề riêng.

 Tích hợp dễ dàng với Next.js, phù hợp cho UI nhất quán.

 Cần làm quen với cú pháp và hệ thống lớp.

 Tệp HTML có thể trở nên cồng kềnh vì chứa nhiều lớp CSS.

PHÂN TÍCH THIẾT KẾ HỆ THỐNG

Bài toán

Bài toán "XÂY DỰNG CHƯƠNG TRÌNH HỘI NGHỊ TRỰC TUYẾN" tập trung vào việc phát triển một hệ thống công nghệ thông tin để tổ chức và quản lý các sự kiện hội nghị trực tuyến Mục tiêu chính của đề tài này là tạo ra một nền tảng hiệu quả, đáp ứng các yêu cầu về chức năng như quản lý người tham gia, lịch trình sự kiện và tương tác trực tiếp giữa các đại biểu Việc xây dựng chương trình này không chỉ giúp tiết kiệm thời gian và chi phí mà còn nâng cao trải nghiệm của người tham dự trong bối cảnh ngày càng phát triển của công nghệ số.

1 Cuộc họp mới: Nhanh chóng bắt đầu cuộc họp mới, định cấu hình cài đặt camera và micrô trước khi tham gia.

2 Kiểm soát cuộc họp: Người tham gia có toàn quyền kiểm soát các khía cạnh của cuộc họp, bao gồm ghi âm, phản ứng biểu tượng cảm xúc, chia sẻ màn hình, tắt tiếng/bật tiếng, điều chỉnh âm thanh, bố cục lưới, chế độ xem danh sách người tham gia và quản lý từng người tham gia (ghim, tắt tiếng, bật tiếng, chặn, cho phép chia sẻ video).

3 Thoát khỏi cuộc họp: Người tham gia có thể rời khỏi cuộc họp hoặc người tạo có thể kết thúc cuộc họp đối với tất cả người tham dự.

4 Lên lịch cho các cuộc họp trong tương lai: Nhập thông tin chi tiết về cuộc họp (ngày, giờ) để lên lịch cho các cuộc họp trong tương lai, có thể truy cập trên trang 'Cuộc họp sắp tới' để chia sẻ liên kết hoặc bắt đầu ngay lập tức.

5 Danh sách các cuộc họp trước đây: Truy cập danh sách các cuộc họp đã tổ chức trước đó, bao gồm thông tin chi tiết và siêu dữ liệu.

6 Xem các cuộc họp đã ghi: Truy cập các bản ghi âm của các cuộc họp trước để xem lại hoặc tham khảo.

7 Phòng cá nhân: Người dùng có một phòng cá nhân với liên kết cuộc họp duy nhất cho các cuộc họp tức thời, có thể chia sẻ với người khác.

8 Tham gia cuộc họp qua liên kết: Dễ dàng tham gia các cuộc họp do người khác tạo bằng cách cung cấp liên kết.

Khoa Khoa Học Máy Tính Lê Mai Hương - 22IT.EB036

Phân tích thiết kế hệ thống

● Tính năng trong cuộc họp:

○ Thay đổi bố cục lưới

○ Xem danh sách người tham gia

● Quản lý người tham gia:

○ Ghim/Gỡ ô đối với cuộc họp

○ Tắt/bật video người tham gia

○ Tắt/bật tiếng người tham gia

○ Cho phép/Không cho phép chia sẽ màn hình

○ Kết thúc cuộc họp đối với mọi người

○ Xem danh sách cuộc họp

○ Xem các cuộc họp đã ghi

Khoa Khoa Học Máy Tính Lê Mai Hương - 22IT.EB036

2.2.1.2 Yêu cầu phi chức năng

Yêu Cầu về Giao Diện:

● Thân Thiện và Hiện Đại:

○ Giao diện người dùng phải thân thiện, dễ sử dụng, và có thiết kế hiện đại để thu hút và giữ chân người dùng.

● Độ Tương Thích Nền Tảng:

○ Đảm bảo giao diện hoạt động mượt mà và tương thích trên nhiều loại thiết bị và trình duyệt khác nhau.

● Trải Nghiệm Người Dùng Linh Hoạt:

○ Cung cấp các tính năng linh hoạt, bao gồm tìm kiếm nhanh, và giao diện thân thiện với cả người mới và người dùng thường xuyên.

2.2.2 Danh sách các tác nhân và mô tả các tác nhân

Người tạo ra phòng họp có nhiều chức năng quan trọng như tạo cuộc họp mới, tham gia hoặc thoát khỏi cuộc họp, lên lịch cuộc họp, xem danh sách các cuộc họp, xem lại các cuộc họp đã ghi lại, quản lý phòng cá nhân và quản lý người tham gia.

Khách mời tham gia cuộc họp có thể thực hiện nhiều chức năng quan trọng như tham gia và thoát khỏi cuộc họp, lên lịch cho các cuộc họp cá nhân, xem danh sách các cuộc họp, kiểm tra các cuộc họp đã được ghi lại, và truy cập vào phòng cá nhân của mình.

Khoa Khoa Học Máy Tính Lê Mai Hương - 22IT.EB036

■ Xem danh sách cuộc họp

■ Xem các cuộc họp đã ghi

○ Tính năng trong cuộc họp:

■ Thay đổi bố cục lưới

■ Xem danh sách người tham gia

○ Quản lý người tham gia

■ Ghim/Gỡ ô đối với cuộc họp

■ Tắt/bật video người tham gia

■ Tắt/bật tiếng người tham gia

■ Cho phép/Không cho phép chia sẽ màn hình

■ Kết thúc cuộc họp đối với mọi người

Khoa Khoa Học Máy Tính Lê Mai Hương - 22IT.EB036

■ Xem danh sách cuộc họp

■ Xem các cuộc họp đã ghi

○ Tính năng trong cuộc họp:

■ Thay đổi bố cục lưới

■ Xem danh sách người tham gia

Khoa Khoa Học Máy Tính Lê Mai Hương - 22IT.EB036

Khoa Khoa Học Máy Tính Lê Mai Hương - 22IT.EB036

Sơ đồ tổng quát của WebSocket qua TCP

Hình 2 Sơ đồ của WebSocket qua TCP

Khoa Khoa Học Máy Tính Lê Mai Hương - 22IT.EB036

Sơ đồ tổng quát của WebRTC qua UDP

Hình 3 Sơ đồ của WebRTC qua UDP

Khoa Khoa Học Máy Tính Lê Mai Hương - 22IT.EB036

Lập sơ đồ hệ thống

Hình 4 Activity Diagram: Tạo phòng họp mới

Khoa Khoa Học Máy Tính Lê Mai Hương - 22IT.EB036

Hình 5 Activity Diagram: Tham gia phòng

Khoa Khoa Học Máy Tính Lê Mai Hương - 22IT.EB036

3 Lấy danh sách lịch họp

Hình 6 Activity Diagram: Lấy danh sách lịch họp

Khoa Khoa Học Máy Tính Lê Mai Hương - 22IT.EB036

Hình 7 Sequence Diagram: Tạp phòng họp mới

Khoa Khoa Học Máy Tính Lê Mai Hương - 22IT.EB036

Hình 8 Sequence Diagram: Tham gia phòng

Khoa Khoa Học Máy Tính Lê Mai Hương - 22IT.EB036

3 Lấy danh sách lịch họp

Hình 9 Sequence Diagram: Lấy danh sách lịch họp

Khoa Khoa Học Máy Tính Lê Mai Hương - 22IT.EB036

CHƯƠNG TRÌNH DEMO

Giao diện chính ứng dụng

Hướng dẫn sử dụng cho người dùng (User):

- Mở ứng dụng, màn hình đăng nhập/đăng ký hiện lên; chọn đăng nhập qua Facebook, Google hoặc dùng email đã đăng ký Nếu chưa có tài khoản, nhấn

Sign up, nhập thông tin rồi nhấn Continue Đăng nhập thành công, vào giao diện chính để tham gia hoặc tạo phòng hội nghị.

Hình 10 Giao diện Đăng ký

Khoa Khoa Học Máy Tính Lê Mai Hương - 22IT.EB036

Hình 11 Giao diện Đăng Nhập

- Vào giao diện chính, nhấn New Meeting để tạo cuộc họp mới, Join Meeting để tham gia cuộc họp qua link mời, Schedule Meeting để lên lịch họp, hoặc

Để xem lại bản ghi, bạn có thể truy cập mục Recordings Menu bên trái bao gồm các lựa chọn: Home để trở về trang chính, Upcoming để xem các cuộc họp sắp diễn ra, Previous để kiểm tra các cuộc họp trước, và Personal Room để vào phòng cá nhân Ở giữa màn hình chính, đồng hồ hiển thị thời gian hiện tại và thời gian cuộc họp sắp tới, giúp bạn dễ dàng theo dõi lịch trình.

Khoa Khoa Học Máy Tính Lê Mai Hương - 22IT.EB036

Hình 12 Giao diện trang chủ

- Khi chọn New Meeting, màn hình xác nhận "Start an Instant Meeting" xuất hiện Nhấn Start Meeting để bắt đầu cuộc họp ngay lập tức.

Hình 13 Bắt đầu cuộc họp mới

- Giao diện cài đặt mở ra, cho phép bật hoặc tắt mic và camera trước khi vào phòng họp.

Khoa Khoa Học Máy Tính Lê Mai Hương - 22IT.EB036

Hình 14 Cài đặt trước khi vào họp

- Nhấn vào biểu tượng bánh răng để chọn thiết bị camera, micro, và loa phù hợp.

Khoa Khoa Học Máy Tính Lê Mai Hương - 22IT.EB036

Hình 15 Lựa chọn thiết bị âm thanh và hình ảnh

Giao diện cuộc họp hiển thị các người tham gia trên màn hình chính, với thanh công cụ phía dưới cung cấp các tính năng quan trọng như ghi âm, thả cảm xúc, bật/tắt micro và camera, chia sẻ màn hình, kết thúc cuộc gọi, tùy chọn hiển thị màn hình, xem thống kê cuộc họp và danh sách người tham gia.

Khoa Khoa Học Máy Tính Lê Mai Hương - 22IT.EB036

Hình 16 Giao diện cuộc họp trực tuyến

Khi bắt đầu ghi âm, biểu tượng Record màu đỏ sẽ hiển thị, cho biết rằng cuộc họp đang được ghi lại để xem lại sau này Người dùng có thể nhấn vào biểu tượng này một lần nữa để dừng ghi âm khi cần thiết.

Hình 17 Ghi âm cuộc họp

Khoa Khoa Học Máy Tính Lê Mai Hương - 22IT.EB036

Người dùng có thể nhanh chóng thể hiện phản hồi của mình bằng cách chọn các biểu tượng cảm xúc như like, giơ tay, pháo hoa, dislike, trái tim và mặt cười.

Hình 18 Tùy chọn cảm xúc trong cuộc họp

Khi chia sẻ màn hình, người dùng có thể chọn chia sẻ tab trình duyệt, cửa sổ ứng dụng hoặc toàn bộ màn hình Thêm vào đó, tùy chọn "Cũng chia sẻ âm thanh tab" cho phép người dùng chia sẻ âm thanh từ tab đang mở.

Khoa Khoa Học Máy Tính Lê Mai Hương - 22IT.EB036

Hình 19 Chia sẻ màn hình

The Call Latency and Call Performance interface offers detailed insights into call delay, jitter, and video quality This section displays key metrics such as Region, Latency, Receive Jitter, and Publish Jitter, enabling users to monitor and assess the real-time performance of their calls.

Khoa Khoa Học Máy Tính Lê Mai Hương - 22IT.EB036

Hình 20 Thống kê chất lượng cuộc gọi

Người dùng có thể tùy chỉnh bố cục hiển thị video của người tham gia với các tùy chọn như Grid, Speaker-Left và Speaker-Right, giúp điều chỉnh cách sắp xếp màn hình theo sở thích và nhu cầu của cuộc họp.

Khoa Khoa Học Máy Tính Lê Mai Hương - 22IT.EB036

Hình 21 Tùy chọn bố cục hiển thị trong cuộc họp

- Cửa sổ Participants hiển thị danh sách người tham gia, cho phép tìm kiếm và xem nhanh trạng thái micro và camera của từng

Hình 22 Danh sách người tham gia trong cuộc họp

Khi chọn "Join Meeting", người dùng sẽ thấy cửa sổ để nhập liên kết Hãy dán đường link cuộc họp vào ô "Meeting link" và nhấn "Join Meeting" để tham gia cuộc họp.

Khoa Khoa Học Máy Tính Lê Mai Hương - 22IT.EB036

Hình 23 Nhập liên kết cuộc họp

- Khi chọn Schedule Meeting, nhập mô tả và chọn ngày giờ cho cuộc họp, sau đó nhấn Schedule Meeting để xác nhận.

Khoa Khoa Học Máy Tính Lê Mai Hương - 22IT.EB036

Hình 24 Lên lịch cuộc họp mới

- Sau khi thông báo cuộc họp đã được tạo, nhấn Copy Meeting Link để sao chép link mời tham gia cuộc họp.

Khoa Khoa Học Máy Tính Lê Mai Hương - 22IT.EB036

Hình 25 Tạo thành công cuộc họp

Khi bạn nhấn vào "Xem Bản Ghi", giao diện Bản Ghi sẽ hiện ra các bản ghi cuộc họp Mỗi bản ghi bao gồm thông tin về thời gian, danh sách người tham gia, cùng với các nút "Phát" để xem lại và "Sao chép Liên kết" để chia sẻ bản ghi.

Hình 26 Danh sách bản ghi cuộc họp

Giao diện Upcoming Meeting cho phép người dùng xem các cuộc họp đã được lên lịch, bao gồm thông tin về thời gian, danh sách người tham gia, cùng với các nút Start để bắt đầu cuộc họp và Copy Link để sao chép liên kết mời.

Khoa Khoa Học Máy Tính Lê Mai Hương - 22IT.EB036

Hình 27 Danh sách cuộc họp sắp tới

Giao diện Previous Calls cho phép người dùng xem lại các cuộc họp trước đó một cách dễ dàng Mỗi mục trong danh sách bao gồm tên cuộc họp, thời gian diễn ra và danh sách người tham gia, giúp người dùng nắm bắt lịch sử cuộc họp của mình một cách hiệu quả.

Hình 28 Danh sách cuộc họp đã diễn ra

Khoa Khoa Học Máy Tính Lê Mai Hương - 22IT.EB036

The Personal Meeting Room interface displays essential information about the user's private meeting space Users can initiate a meeting by clicking "Start Meeting" or easily copy the invitation link by selecting "Copy Invitation."

Hình 29 Phòng họp cá nhân

Khoa Khoa Học Máy Tính Lê Mai Hương - 22IT.EB036

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN

1 Kết quả đạt được sau khi kết thúc học phần

● Hiểu về mô hình OSI và TCP/IP: Chúng em đã nắm rõ kiến thức về mô hình

OSI 7 tầng và TCP/IP 4 tầng, hiểu chức năng của mỗi tầng (như Physical, Network, Transport, Application), và cách chúng phối hợp để truyền tải dữ liệu hiệu quả giữa các thiết bị mạng.

Chúng tôi đã nắm vững giao thức HTTP/HTTPS và mô hình Client-Server, hiểu rõ cách hoạt động của chúng trong việc giao tiếp giữa Client và Server Đặc biệt, chúng tôi đã nhận thức được vai trò quan trọng của bảo mật, bao gồm mã hóa và xác thực trong quá trình truyền tải dữ liệu.

Nắm vững các phương thức HTTP như GET, POST, PUT và DELETE là rất quan trọng để thao tác dữ liệu trên Web Server Chúng em đã hiểu rõ cách sử dụng những phương thức này và tầm quan trọng của chúng trong giao tiếp trên nền tảng Web.

Ngày đăng: 19/12/2024, 15:32

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

TÀI LIỆU LIÊN QUAN