WebRTC: APIs and RTCWEB Protocols of the HTML5 Real-Time Web - Chinese Edition
WebRTC: APIs and RTCWEB Protocols of the HTML5 Real-Time Web - Chinese Edition
WebRTC, Web Real-Time Communications, is revolutionizing the way web users communicate, both in the consumer and enterprise worlds. WebRTC adds standard APIs (Application Programming Interfaces) and built-in real-time audio and video capabilities and codecs to browsers without a plug-in. With just a few lines of JavaScript, web developers can add high quality peer-to-peer voice, video, and data channel communications to their collaboration, conferencing, telephony, or even gaming site or application. New for the Third Edition The third edition has an enhanced demo application which now shows the use of the data channel for real-time text sent directly between browsers. Also, a full description of the browser media negotiation process including actual SDP session descriptions from Firefox and Chrome. Hints on how to use Wireshark to monitor WebRTC protocols, and example captures are also included. TURN server support for NAT and firewall traversal is also new. This edition also features a step-by-step introduction to WebRTC, with concepts such as local media, signaling, and the Peer Connection introduced through separate runnable demos. Written by experts involved in the standardization effort, this book contains the most up to date discussion of WebRTC standards in W3C and IETF. Packed with figures, example code, and summary tables, this book is the ultimate WebRTC reference. Table of Contents 1 Introduction to Web Real-Time Communications 1.1 WebRTC Introduction1.2 Multiple Media Streams in WebRTC1.3 Multi-Party Sessions in WebRTC1.4 WebRTC Standards1.5 What is New in WebRTC1.6 Important Terminology Notes1.7 References2 How to Use WebRTC2.1 Setting Up a WebRTC Session2.2 WebRTC Networking and Interworking Examples2.3 WebRTC Pseudo-Code Example2.4 References3 Local Media3.1 Media in WebRTC3.2 Capturing Local Media3.3 Media Selection and Control3.4 Media Streams Example3.5 Local Media Runnable Code Example4 Signaling4.1 The Role of Signaling4.2 Signaling Transport4.3 Signaling Protocols4.4 Summary of Signaling Choices4.5 Signaling Channel Runnable Code Example4.6 References5 Peer-to-Peer Media5.1 WebRTC Media Flows5.2 WebRTC and Network Address Translation (NAT)5.3 STUN Servers5.4 TURN Servers5.5 Candidates6 Peer Connection and Offer/Answer Negotiation6.1 Peer Connections6.2 Offer/Answer Negotiation6.3 JavaScript Offer/Answer Control6.4 Runnable Code Example: Peer Connection and Offer/Answer Negotiation7 Data Channel7.1 Introduction to the Data Channel7.2 Using Data Channels7.3 Data Channel Runnable Code Example7.3.1 Client WebRTC Application8 W3C Documents8.1 WebRTC API Reference8.2 WEBRTC Recommendations8.3 WEBRTC Drafts8.4 Related Work8.5 References9 NAT and Firewall Traversal9.1 Introduction to Hole Punching9.3 WebRTC and Firewalls9.3.1 WebRTC Firewall Traversal9.4 References10 Protocols10.1 Protocols10.2 WebRTC Protocol Overview10.3 References11 IETF Documents11.1 Request For Comments11.2 Internet-Drafts11.3 RTCWEB Working Group Internet-Drafts11.4 Individual Internet-Drafts11.5 RTCWEB Documents in Other Working Groups11.6 References12 IETF Related RFC Documents12.1 Real-time Transport Protocol12.2 Session Description Protocol12.3 NAT Traversal RFCs12.4 Codecs12.5 Signaling12.6 References13 Security and Privacy13.1 Browser Security Model13.2 New WebRTC Browser Attacks13.3 Communication Security13.4 Identity in WebRTC13.5 Enterprise Issues14 Implementations and UsesINDEXABOUT THE AUTHORS