Giới thiệudaotao.vku.udn.vn/uploads/2020/12/1609315984-doancoso4.docx · Web viewVới nội...

31
ĐẠI HỌC ĐÀ NẴNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG VIỆT HÀN ĐỒ ÁN CƠ SỞ 4 XÂY DỰNG ỨNG DỤNG WEB HỘI NGHỊ TRUYỀN HÌNH Sinh viên thực hiện : ĐINH THANH HUY CAO ĐĂNG DƯƠNG Lớp : 18IT2

Transcript of Giới thiệudaotao.vku.udn.vn/uploads/2020/12/1609315984-doancoso4.docx · Web viewVới nội...

Page 1: Giới thiệudaotao.vku.udn.vn/uploads/2020/12/1609315984-doancoso4.docx · Web viewVới nội dung chính được mô tả cụ thể như sau: Chương 1 Nghiên cứu tổng

ĐẠI HỌC ĐÀ NẴNG

ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG VIỆT HÀN

ĐỒ ÁN CƠ SỞ 4

XÂY DỰNG ỨNG DỤNG WEB HỘI NGHỊ TRUYỀN HÌNH

Sinh viên thực hiện : ĐINH THANH HUY

CAO ĐĂNG DƯƠNG

Lớp : 18IT2

Giảng viên hướng dẫn : PGS.TS NGUYỄN THANH BÌNH

Đà Nẵng, tháng 12 năm 2020

Page 2: Giới thiệudaotao.vku.udn.vn/uploads/2020/12/1609315984-doancoso4.docx · Web viewVới nội dung chính được mô tả cụ thể như sau: Chương 1 Nghiên cứu tổng

ĐẠI HỌC ĐÀ NẴNG

ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG VIỆT HÀN

ĐỒ ÁN CƠ SỞ 4

XÂY DỰNG ỨNG DỤNG HỘI NGHỊ TRUYỀN HÌNH

Sinh viên thực hiện : ĐINH THANH HUY

CAO ĐĂNG DƯƠNG

Lớp : 18IT2

Giảng viên hướng dẫn : PGS.TS NGUYỄN THANH BÌNH

Đà Nẵng, tháng 12 năm 2020

Page 3: Giới thiệudaotao.vku.udn.vn/uploads/2020/12/1609315984-doancoso4.docx · Web viewVới nội dung chính được mô tả cụ thể như sau: Chương 1 Nghiên cứu tổng

LỜI MỞ ĐẦU

Trong những năm gần đây, công nghệ họp trực tuyến được nghiên cứu rất nhiều để có thể đưa vào sử dụng trong nhiều lĩnh vực ứng dụng như đào tạo từ xa, hội nghị truyền hình. Lợi điểm khi sử dụng công nghệ họp trực tuyến là có thể dễ chuyển thông tin cuộc họp tới các người tham dự ở khắp mọi nơi. Đối với một doanh nghiệp, việc sử dụng công nghệ họp trực tuyến còn có thể giảm một cách đáng kể các chi phí của doanh nghiệp liên quan đến chi phí đi lại và lãnh phí thời gian làm việc. Với sự phát triển nhanh chóng của mạng Internet, các ứng dụng trực tuyến đã trở thành một công cụ đắc lực trong việc giải quyết nhanh chóng nhiều vấn đề trong các công việc hằng ngày của các cơ quan, doanh nghiệp.

Ngày nay với sự phát

Page 4: Giới thiệudaotao.vku.udn.vn/uploads/2020/12/1609315984-doancoso4.docx · Web viewVới nội dung chính được mô tả cụ thể như sau: Chương 1 Nghiên cứu tổng

LỜI CẢM ƠN

Với sự hướng dẫn tận tình của Thầy Nguyễn Thanh Bình nhóm chúng em đã hoàn thành bài báo cáo đồ án cơ sở 3 này. Tuy đã cố gắng tìm hiểu, phân tích thiết kế và cài đặt hệ thống nhưng chắc chắn không thể không tránh khỏi những thiếu sót. Nhóm chúng em rất mong nhận được sự thông cảm và góp ý của quý thầy cô. Em xin chân thành cảm ơn !.

Page 5: Giới thiệudaotao.vku.udn.vn/uploads/2020/12/1609315984-doancoso4.docx · Web viewVới nội dung chính được mô tả cụ thể như sau: Chương 1 Nghiên cứu tổng

NHẬN XÉT

(Của giảng viên hướng dẫn)

Page 6: Giới thiệudaotao.vku.udn.vn/uploads/2020/12/1609315984-doancoso4.docx · Web viewVới nội dung chính được mô tả cụ thể như sau: Chương 1 Nghiên cứu tổng

CẤU TRÚC ĐỒ ÁN

Cấu trúc đồ án được chia làm 5 chương, nội dung của đồ án bao quát đầy đủ các vấn đề cơ bản về hệ thống hội nghị truyền hình trực tuyến và các ứng dụng. Với nội dung chính được mô tả cụ thể như sau:

Chương 1 Nghiên cứu tổng quan : Chương này trình bày các phương pháp nghiên cứu, tìm hiểu về ứng dụng Zoom Clound Meeting và hội nghị truyền hình truyền thống

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

Chương 3 Triển khai xây dựng

Chương 4 Kết luận và hướng phát triển

Page 7: Giới thiệudaotao.vku.udn.vn/uploads/2020/12/1609315984-doancoso4.docx · Web viewVới nội dung chính được mô tả cụ thể như sau: Chương 1 Nghiên cứu tổng

MỤC LỤC

ContentsGiới thiệu.................................................................................................................................................12

1. Sự cần thiết của đề tài.................................................................................................................12

2. Bối cảnh thực hiện đề tài.............................................................................................................12

3. Đề xuất nội dung thực hiện.........................................................................................................12

4. Phương pháp nghiên cứu............................................................................................................12

Chương 1 Nghiên cứu tổng quan......................................................................................................13

2.1. Zoom Meetings Cloud.............................................................................................................13

2.1.1. Zoom Meetings là gì?.......................................................................................................13

2.1.2. Các tính năng chính của Zoom Meetings.......................................................................13

2.1.3. Nền tảng công nghệ Zoom sử dụng.................................................................................16

2.2. Hội nghị truyền hình trực tuyến truyền thống......................................................................16

2.2.1. Hội nghị truyền hình trực tuyến là gì?...........................................................................16

2.2.2. Phương thức kết nối.........................................................................................................16

2.2.3. Hệ thống hội nghị truyền hình trực tuyến......................................................................16

2.3. Kết luận....................................................................................................................................17

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

3.1. Tổng quan về hệ thống............................................................................................................18

3.2. Tổng quan về công nghệ và các thư viện sử dụng.................................................................18

3.2.1. Node.js..............................................................................................................................18

3.2.2. WebRTC...........................................................................................................................18

3.2.3. Thư viện Socket.io............................................................................................................18

3.2.4. PeeJS.................................................................................................................................19

Chương 3 Thiết kế và triển khai xây dựng......................................................................................20

4.1. Thiết kế hệ thống.....................................................................................................................20

4.1.1. Mô hình mạng sử dụng....................................................................................................20

4.1.2. Mô hình của ứng dụng.....................................................................................................21

4.1.3. Giao thức..........................................................................................................................21

4.1.4. Biểu đồ Use Case...........................................................................................................22

Use Case tổng quát hệ thống.................................................................................................22

Use Case cho Create/Join......................................................................................................22

Use Case cho View.................................................................................................................23

Use Case cho Call..................................................................................................................23

4.1.5. Biểu đồ hoạt động............................................................................................................24

4.2. Triển khai xây dựng................................................................................................................24

4.2.1. Công cụ xây dựng............................................................................................................24

Page 8: Giới thiệudaotao.vku.udn.vn/uploads/2020/12/1609315984-doancoso4.docx · Web viewVới nội dung chính được mô tả cụ thể như sau: Chương 1 Nghiên cứu tổng

4.2.2. Thiết kế chương trình......................................................................................................24

4.2.3. Thiết kế giao diện.............................................................................................................25

Chương 4 Kết luận và hướng phát triển.........................................................................................26

Page 9: Giới thiệudaotao.vku.udn.vn/uploads/2020/12/1609315984-doancoso4.docx · Web viewVới nội dung chính được mô tả cụ thể như sau: Chương 1 Nghiên cứu tổng

DANH MỤC CÁC BẢNG

Page 10: Giới thiệudaotao.vku.udn.vn/uploads/2020/12/1609315984-doancoso4.docx · Web viewVới nội dung chính được mô tả cụ thể như sau: Chương 1 Nghiên cứu tổng

DANH MỤC HÌNH

Page 11: Giới thiệudaotao.vku.udn.vn/uploads/2020/12/1609315984-doancoso4.docx · Web viewVới nội dung chính được mô tả cụ thể như sau: Chương 1 Nghiên cứu tổng

DANH MỤC CỤM TỪ VIẾT TẮT

STT Cụm từ Viết tắt1 SDP2 P2P3

Page 12: Giới thiệudaotao.vku.udn.vn/uploads/2020/12/1609315984-doancoso4.docx · Web viewVới nội dung chính được mô tả cụ thể như sau: Chương 1 Nghiên cứu tổng

Giới thiệu1. Sự cần thiết của đề tài

Ngành công nghệ thông tin là một ngành khoa học đang trên đà phát triển mạnh mẽ và ứng dụng rộng rãi trên nhiều lĩnh vực. Cùng với xu hướng phát triển của các phương tiện truyền thông như TV, Radio, báo giấy,... thì việc sử dụng Internet ngày càng phổ biến. Truy cập Internet, chúng ta có được một kho thông tin khổng lồ phục vụ mọi nhu cầu, mục đích của chúng ta chỉ bằng một cái nhấp chuột.Việc áp dụng công nghệ vào công việc kinh doanh của doanh nghiệp đã và đang đóng góp thiết yếu cho sự thành công của doanh nghiệp.Hội nghị truyền hình là bước phát triển đột phá của công nghệ cho phép những người tham dự nhiều địa điểm từ những quốc gia khác nhau hoặc ở những địa điểm khác nhau có thể nhìn và trao đổi trực tiếp với nhau qua màn hình tivi, máy tính, máy chiếu,… như đang họp trong cùng một căn phòng. Công nghệ này đã được áp dụng rộng rãi trong nhiều lĩnh vực đặc biệt trong hội họp và hội thảo. Bên cạnh đó Hội nghị truyền hình còn được ứng dụng phổ biến trong giáo dục đào tạo, an ninh quốc phòng, y tế chăm sóc sức khỏe.

2. Bối cảnh thực hiện đề tàiTrong bối cảnh COVID19, tất cả mọi người trên thế giới đang điều chỉnh để phù hợp với COVID19, với các chỉ thị giãn cách xã hội đã buộc mọi người phải tìm các giải pháp để thay thế các cuộc gặp mặt trực tiếp. Do đó các giải pháp hội nghị truyền hình chưa bao giờ phổ biến đến thế.Cho đến nay, các công ty, xí nghiệp, trường học, chính phủ,… đã áp dụng hầu hết công nghệ hội nghị truyền hình trực tuyến cho các hoạt động của họ. Zoom và Google Meet là hai nền tảng hội nghị trực tuyến được sử dụng phổ biến nhất trong bối cảnh COVID19 như hiện nay.Chính vì lý do đó nên nhóm chúng em lựa chọn đề tài “Xây dựng ứng dụng web hội nghị truyền hình trực tuyến” trên cơ sở ứng dụng Zoom Cloud Meeting.

3. Đề xuất nội dung thực hiệnĐề tài “Xây dựng ứng dụng web hội nghị truyền hình trực tuyến” là một ứng dụng chạy trên nền tảng web

4. Phương pháp nghiên cứu Phương pháp thực hiện

Phân tích yêu cầu. Lựa chọn công nghệ. Nghiên cứu cơ sở lý thuyết công nghệ đang sử dụng. Áp dụng lý thuyết vào xây dựng ứng dụng thực tiễn. Kiểm tra, tham khảo các ứng dụng khác để tối ưu hóa ứng dụng.

Page 13: Giới thiệudaotao.vku.udn.vn/uploads/2020/12/1609315984-doancoso4.docx · Web viewVới nội dung chính được mô tả cụ thể như sau: Chương 1 Nghiên cứu tổng

Chương 1 Nghiên cứu tổng quan2.1. Zoom Meetings Cloud2.1.1. Zoom Meetings là gì?

Zoom là một nền tảng hội họp hội nghị trực tuyến đa điểm, cho phép nhiều người được kết nối với nhau trong một khoảng cách rất xa. Với điều kiện là người dùng cần phải trang bị ít nhất một thiết bị điện tử như máy tính, máy tính bảng hay điện thoại thông minh,… đồng thời cũng cần phải kết nối internet để hoạt động.

Mỗi cá nhân có thể tắt micro trên thiết bị của mình để không ảnh hưởng đến tiếng động chung của những người được kết nối với nhau.

Zoom cho phép quay video HD, thu âm và nhiều chức năng khác cũng như hỗ trợ số lượng người tham gia lên đến 1.000 người(số lượng người tham gia tùy thuộc vào gói Zoom mà ta chi trả).

2.1.2. Các tính năng chính của Zoom Meetings Ghi lại cuộc họp

Tất cả các cuộc họp đều được ghi lại khi bắt đầu nhấn nút hoạt động. Tùy theo nhu cầu của mỗi người, có thể lưu bản ghi trên thiết bị của mình, hoặc tải và lưu nó lên dữ liệu đám mây.Việc sao lưu bản ghi cuộc họp trên đám mây, sẽ cho phép những ai không thể tham gia cuộc họp trực tuyến đều có thể kiểm tra và xem lại trên đó, kể cả người đã tham gia.

Ghi lại cuộc họp

Page 14: Giới thiệudaotao.vku.udn.vn/uploads/2020/12/1609315984-doancoso4.docx · Web viewVới nội dung chính được mô tả cụ thể như sau: Chương 1 Nghiên cứu tổng

Chia sẻ màn hìnhNgười tham gia đều có thể chia sẻ màn hình của họ với người khác, nên phần mềm này rất hữu ích cho các buổi thuyết trình và hội thảo giáo dục với nhiều quy mô khác nhau.

Figure 1Chia sẻ màn hình

Trò chuyệnỨng dụng còn cho phép người dùng trò chuyện tích hợp, nghĩa là mọi người được kết nối và có thể trò chuyện tương tác với nhau, không khác gì khi gặp mặt trực tiếp.

Phát biểu ảoLà tính năng để giúp bạn muốn nói hoặc đặt câu hỏi cho những người tham gia trong cuộc họp.

Phát biểu ảo

Thăm dò ý kiến

Page 15: Giới thiệudaotao.vku.udn.vn/uploads/2020/12/1609315984-doancoso4.docx · Web viewVới nội dung chính được mô tả cụ thể như sau: Chương 1 Nghiên cứu tổng

Chức năng này phù hợp với người quản lý trong cuộc họp, vì có thể tạo ra một chủ đề thăm dò và chia sẻ nó với những thành viên còn lại để thu thập ý kiến cũng như phản hồi thông tin một cách khách quan nhất.

Thăm dò ý kiến

Tắt tiếng người tham giaNgười quản lý cuộc họp có thể tắt micro của bất kì người nào tham gia cuộc họp. để đảm bảo cuộc trao đổi không bị nhiễu tiếng ồn từ nhiều phía.

Figure 2Tắt tiếng người tham gia

Page 16: Giới thiệudaotao.vku.udn.vn/uploads/2020/12/1609315984-doancoso4.docx · Web viewVới nội dung chính được mô tả cụ thể như sau: Chương 1 Nghiên cứu tổng

Tất cả các cuộc họp của Zoom đều được mã hóa end-to-end để ngăn bất kì người nào trái phép tham gia cuộc họp. Để tham gia vào cuộc họp thì phải có sự cho phép của người chủ cuộc họp.

2.1.3. Nền tảng công nghệ Zoom sử dụngCó hai khía cạnh quan trọng trong nền tảng công nghệ của Zoom : mạng đám mây

và kiến trúc video.

Mạng đám mâyZoom có một hệ thống các trung tâm dữ liệu được kết nối với nhau thông qua các kết nối riêng tư được duy trì chặt chẽ, giám sát và tối ưu hóa thường xuyên bởi đội ngũ chuyên gia của họ. Mạng này nhằm cung cấp kết nối trên toàn cầu cho phép người dùng từ khắp nơi trên thế giới trải nghiệm sự mượt mà trong kết nối của họ. Zoom có hơn 15 trung tâm dữ liệu được đặt trên toàn cầu và tiếp tục mở rộng mạng lưới này.

Kiến trúc videoo Kiến trúc phân táno Định tuyến đa phương tiện

2.2. Hội nghị truyền hình trực tuyến truyền thống2.2.1. Hội nghị truyền hình trực tuyến là gì?

Hội nghị truyền hình(VC) hoặc hội nghị truyền hình từ xa(VTC) là một hình thức trao đổi thông tin trực tiếp giữa các thành viên ở xa nhau(có thể là từ phòng này đến phòng khác trong một tòa nhà, hay từ quốc gia này đến quốc gia khác). Bạn chỉ cần ngồi tại văn phòng mà vẫn có thể đối thoại trực tiếp với các đối tác.

Khi hội nghị truyền hình, các thành viên có thể trao đổi thoại, hình ảnh và dữ liệu(void, video, data). Các thành viên có thể nói chuyện với nhau, nhìn thấy nhau, sử dụng ngôn ngữ cơ thể, thảo luận về một file dữ liệu nào đó(ppt, excel, word, pdf,…).

2.2.2. Phương thức kết nốiHội nghị truyền hình có thể kết nối bằng bất kì hình thức nào:

Kênh thuê bao riêng(Leased Line) ISDN IP(Internet Protocol)

2.2.3. Hệ thống hội nghị truyền hình trực tuyến Yêu cầu thiết bị

Các hệ thống hội nghị truyền hình gồm 4 thành phần cơ bản sau: Thiết bị đầu cuối(VCS) Thiết bị điều khiển đa điểm(MCU) Gateway và Gatekeeper Ngoài ra còn có các thiết bị tùy chọn khác(thiết bị chia sẻ dữ liệu, thiết

bị ghi lại hình ảnh hội nghị truyền hình, thiết lập lịch và quản lý hội nghị,…)

Thiết bị VCS: Có chức năng thu nhận hình ảnh, âm thanh qua camera và micro. Mã hóa chúng rổi chuyển qua giao diện mạng. Các VCS còn có

Page 17: Giới thiệudaotao.vku.udn.vn/uploads/2020/12/1609315984-doancoso4.docx · Web viewVới nội dung chính được mô tả cụ thể như sau: Chương 1 Nghiên cứu tổng

cổng giao tiếp với máy tính. Cho phép kết nối và trình chiếu các tài liệu từ máy tính vào phiên làm việc. VCS sử dụng màn hình TV, màn hình máy tính hoặc máy chiếu làm thiết bị hiển thị và có thể sử dụng bất kì hệ thống âm thanh nào có sẵn.

Thiết bị MCU: Có chức năng điều khiển đa điểm. Cho phép kết nối nhiều VCS vào một phiên làm việc. Hình ảnh, âm thanh từ các thiết bị VCS được nhận về, trộn và chia hình hiển thị theo yêu cầu của người quản lý hệ thống. Ngoài ra, MCU còn hỗ trợ các đầu cuối thọai(Voice only) vào phiên làm việc. Để đáp ứng yêu cầu làm việc đa phương tiện, đa mạng. Thiết bị MCU còn hỗ trợ chuyển mã(transcoding) các yếu tố liên quan đến chất lượng như:

Giao diện mạng Băng thông Chuẩn mã hóa Video/Audio, tốc độ khung hình,…

Thiết bị Gateway: Có chức năng chuyển đổi tín hiệu giữa hai mạng khác nhau, làm nhiệm vụ giao tiếp. Chẳng hạn như giao tiếp giữa mạng H.323(mạng IP) vào mạng H.320(mạng ISDN).

Thiết bị Gatekeeper: Là thành phần tùy chọn trong hệ thống. Nhưng có vai trò quan trọng trong việc điều khiển thiết lập cuộc gọi, quản lý thiết bị và kiểm soát băng thông.

Yêu cầu đường truyềnĐường truyền sử dụng trong giải pháp hội nghị truyền hình là ISDN hoặc IP Đối với hệ thống hội nghị truyền hình đa điểm SD. Đường tryền tại các site

nhánh phải đạt ít nhất 384 Kbps đối xứng. Đối với hệ thống hội nghị truyền hình đa điểm HD. Đường truyền tại các

site nhánh phải đạt ít nhất 1Mbps đối xứng. Đường truyền đến MCU phải bằng đường truyền tại các site cộng lại.

Trong trường hợp sử dụng đường truyền IP. Đường truyền tại các site phải cộng thêm 20%-35% header của gói IP. Nên để đạt yêu cầu về tốc độ, đường truyền site nhánh phải đạt ít nhất 1.2Mbps để có đủ băng thông cần thiết cho cả video, audio và content.

2.3. Kết luậnQua đó, việc xây dựng một ứng dụng hội nghị truyền hình có phần ưu việt và linh

hoạt hơn hệ thống hội nghị truyền hình truyền thống. Sự khác biệt rõ ràng nhất phải kể đến chi phí đầu tư ban đầu cho phòng họp hội nghị truyền thống.

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

Page 18: Giới thiệudaotao.vku.udn.vn/uploads/2020/12/1609315984-doancoso4.docx · Web viewVới nội dung chính được mô tả cụ thể như sau: Chương 1 Nghiên cứu tổng

3.1. Tổng quan về hệ thốngỨng dụng web hội nghị truyền hình xây dựng dựa trên ứng dụng Zoom Clound

Meetings.

3.2. Tổng quan về công nghệ và các thư viện sử dụng3.2.1. Node.js

Node.js là gì

Node.js là một mã nguồn được xây dựng dựa trên nền tảng Javascript V8 Engine, được sử dụng để xây dựng các ứng dụng phía server. Node.js có thể chạy trên nhiều hệ điều hành khác nhau như Window, Linux, OS X,… Node.js cung cấp đa dạng các thư viện ở dạng JavaScript module giúp đơn giản hóa việc phát triển các ứng dụng web sử dụng Node.js

Đặc điểm

Không đồng bộ và Phát sinh sự kiện(Event Driven): Các API của thư viện Node.js đều không đồng bộ(non-blocking). Điều này lý giải qua việc Node.js không bao giờ đợi một API trả về dữ liệu. Việc di chuyển máy chủ đến các API tiếp theo sau khi gọi và cơ chế thông báo các sự kiện của Node.js giúp máy chủ dễ có được một phản ứng từ các cuộc gọi API trước(Realtime).

Chạy rất nhanh: việc được xây dựng trên V8 JavaScript Engine của Google Chrome giúp Node.js thực thi chương trình nhanh chóng hơn.

Các tiến trình đơn giản nhưng hiệu năng cao: Node.js sử dụng một mô hình luồng đơn(single thread) với các sự kiện lặp. Cơ chế sự kiện giúp Server trả lại các phản hồi theo cơ chế non-blocking và tạo cho Server hiệu quả cao hơn so với các cách truyền thống là tạo ra một số lượng luồng hữu hạn để quản lý request. Node.js sử dụng các chương trình đơn luồng và các chương trình này cung cấp những dịch vụ cho số lượng request nhiều hơn so với các Server truyền thống như Apache HTTP Server.

Không đệm: Ứng dụng Node.js không lưu trữ các dữ liệu buffer.

Có giấy phép: Node.js được cấp phép bởi MIT License.

3.2.2. WebRTCWebRTC là tập hợp các tiêu chuẩn và giao thức cho phép các trình duyệt web thực

hiện trực tiếp các tính năng truyền thông đa phương tiện thời gian thực như gọi điện, tin nhắn hình, truyền dữ liệu bằng các API JavaScript, giao tiếp với nhau bằng mô hình Peer to Peer mà không cần browser phải cài thêm plugin hay phần mềm hỗ trợ từ bên ngoài.

3.2.3. Thư viện Socket.ioSocket.io là một module trong Node.js được phát triển vào năm 2010. Nó được

phát triển để sử dụng các kết nối mở để tạo điều kiện giao tiếp thời gian thực, trả về giá trị thực tại thời điểm đó. Socket.io cho phép giao tiếp hai chiều giữa hai máy khách và chủ.

Page 19: Giới thiệudaotao.vku.udn.vn/uploads/2020/12/1609315984-doancoso4.docx · Web viewVới nội dung chính được mô tả cụ thể như sau: Chương 1 Nghiên cứu tổng

Nó được sử dụng trong việc xây dựng các ứng dụng web real-time cần tốc độ phản hồi ngay lập tức.

Socket.io không phải là phát triển dựa trên WebSocket. Mặc dù nó thực sự sử dụng WebSocket như một cách để giao tiếp trong một vài trường hợp. Socket.io sẽ bổ sung một số siêu dữ liệu cho mỗi gói: loại gói, không gian tên và id gói khi cần xác nhận thông báo. Đó là lý do tại sao máy khách WebSocket sẽ không thể kết nối thành công với máy chủ Socket.io và máy khách Socket.io cũng sẽ không thể kết nối với máy chủ WebSocket.

3.2.4. PeeJSPeeJS là một thư viện JavaScript hoạt động như một trình bao bọc cho WebRTC

và cho phép bạn tạo các kết nối ngang hàng rất dễ dàng.

Page 20: Giới thiệudaotao.vku.udn.vn/uploads/2020/12/1609315984-doancoso4.docx · Web viewVới nội dung chính được mô tả cụ thể như sau: Chương 1 Nghiên cứu tổng

Chương 3 Thiết kế và triển khai xây dựng

4.1. Thiết kế hệ thống4.1.1. Mô hình mạng sử dụngMạng ngang hàng P2P là mạng trong đó hai hay nhiều máy tính chia sẻ tập tin truy cập các thiết bị mà không cần đến máy chủ hay phần mềm máy chủ.

Trong P2P, tất cả các thành phần của hệ thống đều thực hiện các nhiệm vụ giống nhau, không có người phục vụ(server) chuyên biệt.

Như vậy, P2P không có sự phụ thuộc hoặc phụ thuộc rất ít vào server. Mỗi ứng dụng chạy trên một máy gọi là peer. Ứng trên mỗi peer trực tiếp tiến hành truyền thông với nhau mà không cần thông qua một server trung gian nào. Vì lý do này nên nó được gọi là peer-to-peer. Các peer này không do các nhà cung cấp dịch vụ quản lý mà thực chất là các máy tính cá nhân do người dùng quản lý.

Mô hình mạng sử dụng

Để có thể giao tiếp lẫn nhau thông qua trình duyệt web, mỗi trình duyệt người dùng phải thực hiện những bước sau:

Đồng ý bắt đầu giao tiếp Biết cách xác định vị trí đối tượng Vượt qua an ninh và tường lửa bảo vệ Chuyển giao tất cả các giao tiếp đa phương tiện theo real-time.

Page 21: Giới thiệudaotao.vku.udn.vn/uploads/2020/12/1609315984-doancoso4.docx · Web viewVới nội dung chính được mô tả cụ thể như sau: Chương 1 Nghiên cứu tổng

4.1.2. Mô hình của ứng dụng

4.1.3. Giao thức SDP

Session Description Protocol là một chuẩn mô tả các thông số của mỗi kết nối như là độ phân giải, định dạng, codecs, mã hóa,… Điều này làm cho mỗi peer có thể hiểu nhau khi dữ liệu được truyền.SDP là một phần quan trọng của WebRTC. Nó cũng là một giao thức nhằm mục đích mô tả tất cả phiên giao tiếp truyền thông. Nó không cung cấp dữ liệu phương tiện nhưng được sử dụng để thương lượng giữa các peer của các codec âm thanh và video khác nhau, cấu trúc liên kết mạng và thông tin thiết bị khác. SDP bao gồm mô tả phương tiện và các ràng buộc phương tiện cho một người dùng nhất định.

ICEICE là một giao thức để kết nối các peer. Khi khởi tạo, ICE sẽ thử kết nối trực tiếp đến các peer với độ trễ thấp nhất có thể thông qua UDP hoặc TCP.Một khi 2 hoặc nhiều peer đã cùng kết nối vào “1 kênh” thì những peer đã có thể giao tiếp và trao đổi thông tin phiên. Về cơ bản, peer khởi tạo ban đầu sẽ gửi offer sử dụng một giao thức là SIP và SDP. Người khởi tạo sẽ chờ nhận được answer từ bất kì người nhận nào đã kết nối với “kênh”.

Khi đã nhận được câu trả lời, một tiến trình diễn ra để xác nhận và trao đổi giao thức ứng viên ICE tốt nhất mà mỗi peer thu thập được. Một khi chọn được ứng cử viên ICE tối ưu thì về cơ bản sẽ nhiều thứ theo sau đó được chấp nhận, bao gồm: những metadata cần thiết, các định tuyến mạng(địa chỉ IP và port) và các thông tin media thường dùng để giao tiếp với mỗi peer. Phiên mạng socket mạng giữa các peer sau đó được thiết lập.

Mô hình ứng dụng

Page 22: Giới thiệudaotao.vku.udn.vn/uploads/2020/12/1609315984-doancoso4.docx · Web viewVới nội dung chính được mô tả cụ thể như sau: Chương 1 Nghiên cứu tổng

4.1.4. Biểu đồ Use Case Use Case tổng quát hệ thống

Use Case cho Create/Join

Người tạo phòng và người tham gia phòng có thể gọi điện, trò chuyện, chia sẻ, ghi âm.

Page 23: Giới thiệudaotao.vku.udn.vn/uploads/2020/12/1609315984-doancoso4.docx · Web viewVới nội dung chính được mô tả cụ thể như sau: Chương 1 Nghiên cứu tổng

Use Case cho View

Người tạo phòng có thể xem tất cả những người tham gia phòng.

Use Case cho Call

Page 24: Giới thiệudaotao.vku.udn.vn/uploads/2020/12/1609315984-doancoso4.docx · Web viewVới nội dung chính được mô tả cụ thể như sau: Chương 1 Nghiên cứu tổng

4.1.5. Biểu đồ hoạt động

4.2. Triển khai xây dựng4.2.1. Công cụ xây dựng

Ngôn ngữ sử dụng: JavaScript Công cụ phát triển: PhpStorm 2020.2.2 Môi trường phát triển: Window 10

4.2.2. Thiết kế chương trình Bước 1: Mở PhpStorm và khởi tạo dự án mới

File → New Project và đặt tên cho project của mình.

Page 25: Giới thiệudaotao.vku.udn.vn/uploads/2020/12/1609315984-doancoso4.docx · Web viewVới nội dung chính được mô tả cụ thể như sau: Chương 1 Nghiên cứu tổng

4.2.3. Thiết kế giao diện

Page 26: Giới thiệudaotao.vku.udn.vn/uploads/2020/12/1609315984-doancoso4.docx · Web viewVới nội dung chính được mô tả cụ thể như sau: Chương 1 Nghiên cứu tổng

Chương 4 Kết luận và hướng phát triển