(Luận văn thạc sĩ) nghiên cứu giao tiếp thời gian thực trên web WebRTC và ứng dụng xây dựng hệ thống webchat thời gian thực - Pdf 70

ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

KHÚC NGỌC HIỆP

NGHIÊN CỨU GIAO TIẾP THỜI GIAN THỰC TRÊN WEB
WEBRTC VÀ ỨNG DỤNG XÂY DỰNG HỆ THỐNG WEB
CHAT THỜI GIAN THỰC
LUẬN VĂN THẠC SỸ

Hà Nội - 2014


ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

KHÚC NGỌC HIỆP

NGHIÊN CỨU GIAO TIẾP THỜI GIAN THỰC TRÊN WEB
WEBRTC VÀ ỨNG DỤNG XÂY DỰNG HỆ THỐNG WEB
CHAT THỜI GIAN THỰC
Ngành:Công nghệ thông tin
Chuyên ngành: Công nghệ phần mềm
Mã số: 60480103

LUẬN VĂN THẠC SỸ
NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS. TS. TRƯƠNG NINH THUẬN
TS. TRỊNH THANH BÌNH

Hà Nội - 2014


WebRTC và các vấn đề về bảo mật và tính riêng tƣ đƣợc giải quyết trong WebRTC.
Dựa trên kết quả nghiên cứu về lý thuyết cho WebRTC và hiện trạng của hệ thống
hỗ trợ khách hàng trực tuyến của các website thƣơng mại điện tử ở Việt Nam phải sử
dụng các ứng dụng chat bên ngồi nhƣ Yahoo messenger và Skype, chúng tơi đã tiến
hành xây dựng một ứng dụng web chat thời gian thực sử dụng WebRTC để cải tiến hệ
thống hỗ trợ khách hàng này. Khách hàng sẽ không phải cài đặt thêm một ứng dụng
hoặc plugin nào để có thể chat video, gửi tin nhắn và gửi file với nhân viên hỗ trợ
khách hàng ngay trên trình duyệt web.
Chúng tơi thấy rằng WebRTC là một công nghệ rất khả thi, và rất thích hợp cho
trƣờng hợp giao tiếp một một từ trình duyệt đến trình duyệt. Mặc dù chúng tơi phát
hiện ra một số thách thức chƣa đƣợc giải quyết, chúng tôi không thấy bất kỳ trở ngại
không thể vƣợt qua nào sẽ ngăn cản việc chấp nhận WebRTC. WebRTC mở ra những
cơ hội cho các công ty sẽ sử dụng nó trực tiếp để cung cấp một dịch vụ giao tiếp thời
gian thực trên web, nó cũng tạo ra khơng gian cho các nhà cung cấp PaaS WebRTC
trên thị trƣờng. Thêm vào đó, WebRTC cho phép kết nối với các hệ thống cũ nhƣ
PSTN hay PLMN, mở ra cơ hội cho các nhà cung cấp viễn thông để khám phá tạo ra
cách thức truyền thông mới cho khách hàng của họ.

2


MỤC LỤC
LỜI CAM ĐOAN.................................................................................................. 1
TÓM TẮT ............................................................................................................. 2
MỤC LỤC ............................................................................................................. 3
DANH SÁCH HÌNH VẼ ...................................................................................... 5
DANH SÁCH BẢNG ........................................................................................... 5
BẢNG TỪ VIẾT TẮT .......................................................................................... 6
MỞ ĐẦU ............................................................................................................... 7
CHƢƠNG 1: GIỚI THIỆU VỀ TRUYỀN THÔNG WEB THỜI GIAN THỰC WEBRTC .............................................................................................................. 9

3.4.1 Chạy thử ứng dụng ....................................................................................51
3.4.2 Đánh giá ứng dụng .....................................................................................57

KẾT LUẬN ......................................................................................................... 58
TÀI LIỆU THAM KHẢO ................................................................................... 59

4


DANH SÁCH HÌNH VẼ

Hình 1: Kiến trúc tổng thể của WebRTC [3]. ..................................................... 11
Hình 2: Kiến trúc bên trong của WebRTC [8]. ................................................... 12
Hình 3: Chồng giao thức trong WebRTC [1]...................................................... 14
Hình 4: Kênh báo hiệu trong WebRTC. ............................................................. 21
Hình 5: Góc hỗ trợ khách hàng trực tuyến trên website trananh.vn. .................. 34
Hình 6: Góc hỗ trợ khách hàng trực tuyến trên website mediamart.vn. ............ 34
Hình 7: Góc hỗ trợ khách hàng trực tuyến trên website nama.vn. ..................... 35
Hình 8: Lựa chọn hỗ trợ thông qua Skype trên website trananh.vn. .................. 36
Hình 9: Trình duyệt yêu cầu khách hàng cho phép bật ứng dụng Skype trên máy
tính. ...................................................................................................................... 36
Hình 10: Màn hình đăng nhập Skype trên máy tính. .......................................... 37
Hình 11: Màn hình đăng nhập Skype trên máy tính - tiếp. ................................. 37
Hình 12: Bắt đầu chat với nhân viên hỗ trợ khách hàng. .................................... 38
Hình 13: Biểu đồ trƣờng hợp sử dụng. ............................................................... 40
Hình 14: Biểu đồ tuần tự. .................................................................................... 45
Hình 15: Biểu đồ lớp. .......................................................................................... 46
Hình 16: Thiết kế wireframe cho ứng dụng web chat......................................... 47
Hình 17: Nhân viên mở trang hỗ trợ khách hàng bên trong phần quản trị của
website. ................................................................................................................ 51

PaaS

Platform as a Service

PSTN

Public Switched Telephone Network

PLMN

Public Land Mobile Network

WWW

World Wide Web

SIP

Session Initiation Protocol

VoIP

Voice over Internet Protocol

IETF

Internet Engineering Task Force

W3C


SRTP

Secure Real-Time Transport Protocol

ICE

Interactive Connectivity Establishment

6


MỞ ĐẦU
World Wide Web (WWW hay Web) là hệ thống đƣợc biết đến rộng rãi nhất đƣợc
truy cập qua Internet. Hơn nữa, đối với đa số ngƣời sử dụng Internet, từ "Internet" là
tƣơng đƣơng với Web. Đối với họ, Internet là những gì bạn truy cập đƣợc thơng qua
trình duyệt web. Hai yếu tố này liên kết với nhau hơn nữa tại vì sự phát triển các tính
năng và dịch vụ web cung cấp có tác động đến các phần khác của hệ sinh thái Internet,
ví dụ các hệ thống khác, các nhà cung cấp dịch vụ, doanh nghiệp và ngƣời sử dụng. Vì
lý do đó, sự phát triển của web là một thành phần quan trọng trong sự phát triển của
bản thân Internet.
Ban đầu các trang web, cũng nhƣ các trình duyệt web - giao diện để truy cập web chỉ có dạng văn bản đơn giản. Sau đó, một trong những cột mốc quan trọng đầu tiên
trong sự phát triển của web là sự ra đời của trình duyệt web Mosaic, trong đó có một
giao diện ngƣời dùng hiển thị cả đồ họa và văn bản, nó trở thành phổ biến trong các tài
liệu trên web. Sau đó, sự phát triển trong các trình duyệt web hiện đại và các công
nghệ hỗ trợ đã mang các nội dung đa phƣơng tiện đƣa lên web. Video và audio, hình
ảnh tĩnh và hình ảnh động cùng đƣợc sử dụng trong các trang web tƣơng tác, đã trở
thành một chuẩn mực.
Tuy nhiên, nội dung đa phƣơng tiện chủ yếu là chỉ là nội dung tĩnh đƣợc sản xuất
trƣớc đó và phát hành, sau đó đƣợc gửi lên web để đến với mục tiêu ngƣời nhận. Web,
mặt khác, ngày càng trở nên một nền tảng cho truyền thông, thúc đẩy bởi sự gia tăng

hàng trực tuyến của các website thƣơng mại điện tử.

8


CHƯƠNG 1: GIỚI THIỆU VỀ TRUYỀN THÔNG WEB THỜI GIAN
THỰC - WEBRTC
Hãy tƣởng tƣợng một thế giới nơi mà điện thoại, TV và máy tính của chúng ta đều
có thể giao tiếp trên cùng một nền tảng chung. Hãy tƣởng tƣợng rằng chúng ta có thể
dễ dàng thêm vào tính năng video chat và chia sẻ dữ liệu peer-to-peer cho ứng dụng
web. Đó là tầm nhìn của WebRTC.
Trƣớc đây khi chƣa có cơng nghệ WebRTC, chúng ta vẫn có thể thực hiện các cuộc
gọi video, audio và chat trên trình duyệt, tuy nhiên nó địi hỏi phải cài đặt thêm các
plugin cho trình duyệt, và thậm chí cả hai ngƣời thực hiện cuộc gọi cùng phải cài đặt
một loại plugin. Và nếu ngƣời sử dụng chuyển sang một máy tính khác hoặc sử dụng
một trình duyệt web khác, thì lại phải cài đặt lại plugin để có thể thực hiện cuộc gọi
đƣợc. Việc sử dụng plugin thƣờng hay gặp phải các vấn đề về bảo mật và gây khó
khăn cho ngƣời sử dụng.
Hiện tại, WebRTC là công nghệ duy nhất cho phép truyền thơng thời gian thực
trong trình duyệt web mà không cần cài đặt thêm bất cứ một plugin hoặc ứng dụng nào
khác.
WebRTC là một nỗ lực của ngành công nghiệp để đƣa khả năng truyền thông thời
gian thực vào tất cả các trình duyệt web, cho phép các nhà phát triển web dễ dàng sử
dụng các tính năng này thông qua các thẻ HTML5 tiêu chuẩn và các JavaScript API.
Ví dụ, thực hiện một ứng dụng web có các tính năng tƣơng tự nhƣ các tính năng
Skype™ cung cấp mà không cần phải cài đặt thêm bất kỳ phần mềm hay plug-in nào
của bên thứ ba [1].

1.1 Ngắn gọn về lịch sử của WebRTC
Một trong những thách thức lớn nhất cho các trang web là cho phép con ngƣời giao

WebRTC hiện tại vẫn chƣa hồn thiện, nó vẫn đang tiếp tục đƣợc xây dựng, cả ở
cấp độ API của trình duyệt và ở cấp độ giao thức. Tuy nhiên, một số trình duyệt web
đã hỗ trợ hầu hết các API của WebRTC nhƣ các trình duyệt Google Chrome, Opera và
Mozilla Firefox mới nhất [8].

1.2 Kiến trúc của WebRTC
Cho phép truyền thơng thời gian thực trong trình duyệt là một cam kết đầy tham
vọng, và có lẽ là một trong những bổ sung quan trọng nhất cho nền tảng web từ khi
đƣợc hình thành cho đến nay. Với kết quả là kiến trúc WebRTC bao gồm rất nhiều tiêu
chuẩn, giao thức và API mới để cho nó hoạt động:
 Tổ chức W3C chịu trách nhiệm định nghĩa các APIs mới của WebRTC cho
trình duyệt [2].

10


 Tổ chức IETF chịu trách nhiệm định nghĩa các giao thức, định dạng dữ liệu,
bảo mật và các khía cạnh cần thiết khác để cho phép truyền thông peer-topeer trong trình duyệt [2].
Hình 1 dƣới đây mơ tả kiến trúc tổng thể của WebRTC.Khối màu nhạt hơn gọi là
"chức năng truyền thơng thời gian thực của trình duyệt". Chức năng nàytƣơng tác với
các ứng dụng web sử dụng các API tiêu chuẩn của WebRTC và nó giao tiếp với hệ
điều hành thơng qua trình duyệt.

Máy chủ Web

Máy chủ báo hiệu

HTTP hoặc
WebSocket


duyệt có thể sử dụng giao thức truyền UDP- User Datagram Protocol.
Một cái mới nữa là máy chủ báo hiệu (signaling server) cung cấp các kênh báo hiệu
giữa các trình duyệt trong kết nối peer-to-peer.
Hình 2 dƣới đây thể hiện kiến trúc bên trong của WebRTC. Chúng ta thấy có hai
tầng riêng biệt trong WebRTC [8]:
1. Các nhà phát triển trình duyệt web (nhƣ Google Chrome hoặc Mozilla Firefox)
sẽ quan tâm đến các WebRTC C ++ API cho kết nối peer-to-peervà các API cho
audio, video và vào/ra mạng theo ý của họ.
2. Các nhà phát triển ứng dụng web sẽ quan tâm đến các web API.
Ứng dụng
Web #n

Ứng dụng
Web #2

Ứng dụng
Web #1

...

WebRTC JavaScript API (Soạn thảo bởi W3C)

WebRTC
WebRTC C++ API (PeerConnection)
Quản lý phiên

Trình duyệt Web
Voice Engine
iSAC / iLBC / Opus
Codec

Web

C++ API cho các nhà phát
triển trình duyệt Web

API viết chồng lên được cho các
nhà phát triển trình duyệt Web

Hình 2: Kiến trúc bên trong của WebRTC [8].

Ứng dụng web: là ứng dụng viết trên nền web sử dụng các JavaScript API của
WebRTCcho chức năng truyền thông thời gian thực nhƣ chia sẻ video, audio chat, chia
sẻ file.
WebRTC JavaScript API: là các API đƣợc xây dựng bởi các nhà phát triển trình
duyệt web theo tiêu chuẩn đƣợc quy định bởi tổ chức W3C. Các API này đƣợc các nhà

12


phát triển ứng dụng web sử dụng để viết ra các ứng dụng web có sử dụng chức năng
truyền thơng thời gian thực.
WebRTC C++ API: là một lớp API bên trong của WebRTC đƣợc các nhà phát triển
trình duyệt web sử dụng để dễ dàng thực hiện các WebRTC JavaScript API.
Khối giao vận: đảm nhiệm việc thiết lập kết nối qua các mơ hình mạng khác nhau
sử dụng STUN, TURN và ICE, đồng thời thực hiện việc dồn kênh và thực hiện chức
năng truyền thông thời gian thực.
VideoEngine: là một framework xử lý chuỗi khung hình video, từ máy ảnh vào
mạng, và từ mạng tới màn hình hiển thị.VideoEngine trong WebRTC sử dụng VP8
video codec, đây là một định dạng video mở, chất lƣợng cao và miễn phí cho nền tảng
web đƣợc phát triển từ dự án WebM - http://www.webmproject.org/. VideoEngine

Tầng giao vận

TLS

DTLS
TCP

Tầng mạng

UDP

SCTP

IP
Hình 3: Chồng giao thức trong WebRTC [1].

a) Giao thức HTTP
WebRTC sử dụng giao thức HTTP - Hyper-Text Transport Protocol giống nhƣ bất
kỳ ứng dụng web nào, vì vậy khơng cần một kiến thức đặc biệt nào về HTTP. Phiên
bản hiện tại của HTTP là 1.1. IETF đang làm việc để định nghĩa phiên bản tiếp theo
của HTTP, đƣợc gọi là 2.0. Giao thức này sẽ có khả năng tăng tốc độ và hiệu quả tải
web và các ứng dụng. WebRTC sẽ có thể sử dụng giao thức này và bất kỳ phiên bản
khác trong tƣơng lai của HTTP.
b) Giao thức WebSocket
WebSocket là một giao thức cung cấp các kênh truyền thơng song cơng hồn tồn
thơng qua một kết nối TCP duy nhất [11].WebSocket làm cho giao tiếp thời gian thực
hiệu quả hơn vì nó giảm thiểu độ trễ để gửi/nhận thông báo giữa hai phía của kết nối
[12].WebRTC sử dụng WebSocket để trao đổi thơng báo giữa các trình duyệt với nhau
và giữa các trình duyệt với máy chủ web để thiết lập, duy trì và ngắt kết nối.
c) RTP và SRTP

phiên

SDP

(mã

hóa

nhƣ



một

đối

tƣợng

RTCSessionDescription) đƣợc sử dụng để mơ tả các đặc điểm media của kết nối peer
[9]. Có một danh sách dài và phức tạp của thông tin cần phải đƣợc trao đổi giữa hai
đầu của phiên SRTP để chúng có thể giao tiếp. Lời gọi API đến RTCPeerConnection
sẽ cho kết quả là một mô tả phiên SDP, một tập định dạng dữ liệu theo cách đặc biệt,
đƣợc tạo ra bởi các trình duyệt và truy cập bằng cách sử dụng JavaScript bởi các ứng
dụng web. Một ứng dụng muốn có kiểm sốt media chặt chẽ hơn có thể thay đổi các
mơ tả phiên trƣớc khi chia sẻ nó với trình duyệt khác. Khi các thay đổi đƣợc thực hiện
cho một kết nối peer, điều này sẽ dẫn đến thay đổi mô tả phiên mà hai bên sẽ trao đổi.
Điều này đƣợc gọi là một trao đổi offer/answer. Bất kỳ nhà phát triển nào có nhu cầu
kiểm sốt các phiên media chi tiết hơn cần phải hiểu về SDP.
Cả SRTP và SDP là hai giao thức đƣợc chuẩn hóa bởi IETF và đƣợc sử dụng rộng
rãi bởi các thiết bị và dịch vụ truyền thông trên Internet, chẳng hạn nhƣ điện thoại

ICE - Interactive Communication Establishment - là một giao thức đƣợc tiêu chuẩn
hóa bởi IETF (RFC- 5245) [17]. Giao thức ICE đƣợc dùng để thiết lập phiên media
dựa trên UDP đi qua NAT.
ICE cố gắng tìm ra con đƣờng tốt nhất để kết nối giữa các peer, nó thử tất cả các
khả năng có thể kết nối một cách song song và lựa chọn một con đƣờngkết nối hiệu
quả nhất. ICE đầu tiên cố gắng để tạo ra một kết nối bằng cách sử dụng địa chỉ thu
đƣợc từ hệ điều hành và card mạng của thiết bị; nếu thất bại (có thể do thiết bị ở đằng
sau một NAT), ICE lấy địa chỉ bên ngoài của thiết bị bằng cách sử dụng một máy chủ
STUN, và nếu không thành công, lƣu lƣợng mạng đƣợc chuyển qua một máy chủ
chuyển tiếp TURN.
ICE đƣợc chạy vào lúc bắt đầu của một phiên trƣớc khi thiết lập phiên SRTP giữa
các trình duyệt. Nó cũng đƣợc sử dụng để thiết lập các kênh dữ liệu không media.

16


h) TLS
TLS - Transport Layer Security (các phiên bản cũ đƣợc gọi là SSL - Secure Sockets
Layer), là một lớp chèngiữa TCP và các ứng dụng cung cấp các dịch vụ bảo mật và
xác thực. Bảo mật đƣợc cung cấp bằng cách mã hóa các gói tin "trên dây". Xác thực
đƣợc cung cấp bằng cách sử dụng giấy chứng nhận kỹ thuật số. Duyệt web an toàn
ngày nay (HTTPS) chỉ sử dụng vận chuyển TLS. WebRTC có thể tận dụng lợi thế của
TLS cho báo hiệu và bảo mật giao diện ngƣời dùng. Ngồi ra cịn có một phiên bản
của TLS chạy trên UDP, đƣợc gọi là DTLS - Datagram TLS, và một phiên bản có thể
đƣợc sử dụng để tạo ra các khóa cho SRTP đƣợc gọi là DTLS-SRTP [1].
i) TCP
Giao thức TCP - Transmission Control Protocol - là một giao thức lớp vận chuyển
trong chồng giao thức IP, nó cung cấp vận chuyển đáng tin cậy với kiểm soát tắc
nghẽn và kiểm soát luồng. TCP đƣợc sử dụng để vận chuyển trên web (HTTP), nhƣng
không phù hợp để thực hiện truyền thông thời gian thực nhƣ trong RTP, tại vìviệc

Một phiên giao tiếp thời gian thực không thể tạm dừng một hoặc hai giây ở giữa một
cuộc trò chuyện bằng giọng nói, hoặc tạm dừng phát lại video một giây trong khi chờ
đợi truyền lại các thông tin cịn thiếu. Thay vào đó, hệ thống thơng tin liên lạc thời
gian thực chỉ cần làm tốt nhất có thể khi thông tin bị mất. Các kỹ thuật để che đậy việc
mất gói tin hoặc giảm thiểu những tác động của nó đƣợc gọi là PLC - Packet Loss
Conceal.
Sự mất mát gói tin trung bình qua Internet là rất thấp. Mặc dù ít khi xảy ra, việc mất
gói tin lại xảy ra đột ngột, dẫn đến mất gói cao hơn trong khoảng thời gian ngắn. Khả
năng xử lý những sự kiện mất mát trong thời gian ngắn có tác động lớn đến chất lƣợng
cảm nhận của một hệ thống thông tin liên lạc. Các codec tiên tiến, đặc biệt là các
codec âm thanh Opus, đƣợc thiết kế để cung cấp một trải nghiệm ngƣời dùng tốt ngay
cả khi mất gói tin cao. Ngồi ra, thơng tin phản hồi thời gian thực từ ngƣời nhận media
cũng cung cấp khả năng làm giảm băng thơng hay độ phân giải trong q trình tắc
nghẽn gói, cung cấp một trải nghiệm ngƣời dùng tốt hơn và chia sẻ băng thông công
bằng với những ngƣời sử dụng Internet khác. UDP đƣợc cung cấp bởi hệ điều hành
phía dƣới trình duyệt.
l) SCTP
SCTP - Stream Control Transport Protocol –là một tiêu chuẩn của IETF (RFC
4960) [16] nằm ở tầng chuyên vận, nó cung cấp vận chuyển đáng tin cậy hoặc không
đáng tin cậy trên IP cùng với việc kiểm sốt tắc nghẽn và nhiều dịng trong một phiên.
Kiểm soát tắc nghẽn là khả năng của một giao thức để cảm nhận đƣợc khi mất gói tin
Internet và sự chậm trễ, và tự động điều chỉnh tốc độ gửi của mình để giảm thiểu
những tác động. Nhiều dịng trong một phiên cho phép một phiên duy nhất đƣợc phân

18


chia thành một số dịng, mỗi dịng trong số đó có thể chia sẻ băng thơng sẵn có trong
phiên một cách công bằng.
SCTP không đƣợc hỗ trợ phổ biến trong các hệ điều hành, do đó các trình duyệt sẽ


 RTCDataChannel: truyền dữ liệu bất kỳ thông qua giao tiếp peer-to-peer (gửi
tin nhắn văn bản, gửi file, trò chơi trực tuyến…).

1.5 Kênh báo hiệu trong WebRTC
WebRTC sử dụng RTCPeerConnection API để giao tiếp các dịng dữ liệu giữa các
trình duyệt (các peer), nhƣng nó cũng cần có một cơ chế phối hợp truyền thông và gửi
các thông báo kiểm sốt, q trình này đƣợc gọi là báo hiệu. Phƣơng pháp và giao thức
báo hiệu không đƣợc quy định bởi WebRTC: báo hiệu không phải là một phần của
RTCPeerConnectionAPI.Thay vào đó, các nhà phát triển ứng dụng WebRTC có thể
chọn bất cứ giao thức báo hiệu nào họ thích, chẳng hạn nhƣ SIP hoặc XMPP, và bất kỳ
kênh truyền thông thích hợp nào khác. Ví dụ EasyRTC framework đƣợc xây dựng sử
dụng Socket.io(trong đó sử dụng WebSocket [14]) trên máy chủ Node.js.
Báo hiệu đƣợc sử dụng để trao đổi ba loại thông tin sau [4]:
 Thông báo quản lý phiên: để khởi tạo hoặc kết thúc phiên và báo lỗi.
 Cấu hình mạng: để trao đổi thơng tin cấu hình mạng với bên ngoài (địa chỉ IP
và cổng).
 Khả năng media của thiết bị: những codec gì và các các độ phân giải có thể
đƣợc hỗ trợ bởi trình duyệt.
Việc trao đổi thông tin qua báo hiệu phải kết thúc thành cơng trƣớc khi các dịng dữ
liệu peer-to-peer có thể bắt đầu.

20


Máy chủ báo hiệu
Báo hiệu

Báo hiệu


WebRTC có một số tính năng để tránh những vấn đề bảo mật này [6]:
 WebRTC đƣợc triển khai sử dụng giao thức an toàn nhƣ DTLS và SRTP.
 Mã hóa là bắt buộc đối với tất cả các thành phần WebRTC, bao gồm cả cơ
chế truyền báo hiệu.
 WebRTC khơng phải là một plugin: các thành phần của nó chạy bên trong
trình duyệt và khơng phải trong một tiến trình riêng biệt. Các thành phần
WebRTC khơng u cầu cài đặt riêng biệt và đƣợc cập nhật bất cứ khi nào
trình duyệt đƣợc cập nhật.

21


 Việc truy cập máy ảnh và microphone phải đƣợc cho phép một cách rõ ràng,
và khi máy ảnh hoặc microphone đang chạy, nó đƣợc thể hiện rõ bởi giao
diện ngƣời dùng [18].
Trong chƣơng này chúng tơi đã tìm hiểu đƣợc tổng quan về truyền thông thời gian
thực với WebRTC, kiến trúc, chồng giao thức, các API, kênh báo hiệu và mơ hình bảo
mật trong WebRTC. Chƣơng tiếp theo của luận văn, chúng tơi sẽ tìm hiểu về một
framework đƣợc viết trên WebRTC để hỗ trợ các nhà phát triển phần mềm viết các
ứng dụng sử dụng WebRTC.

22


CHƯƠNG 2: GIỚI THIỆU VỀ EASYRTC FRAMEWORK
WebRTC cung cấp các API ở tầm trung cho các nhà phát triển phần mềm, tức là các
nhà phát triển có thể sử dụng các WebRTC API để kết nối với máy ảnh hoặc liên hệ
với các máy chủ TURN và STUN. Tuy nhiên để hoàn thành một phần mềm sử dụng
WebRTC, các nhà phát triển vẫn phải thực hiện việc truyền các gói tin giữa các trình
duyệt để thực hiện kết nối peer-to-peer. Đây vẫn là một cơng việc phức tạp địi hỏi rất


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status