Web Real-Time Communication (WebRTC)
WebRTC (www.webrtc.org)
- is a bundle of network protocol standards (e.g. application layer/network-level API/web service) that enables peer-to-peer/real-time communication without a mediator server
- faster than traditional peer-server-peer communication
- BUT still needs at least 2 servers to help initiate the peer-to-peer connection:
- STUN Server to provide client ice-candidates (i.e. their own public IP address port tuples)
- Signaling Server - for 2 clients to exchange Session Description Protocol (SDP), which contains ice-candidates and other metadata
- TURN Server needed only when client is behind a Symmetric NAT and/or Firewalls - Bastion Host
- see also: Real-Time Transport Protocol (RTP) & Real-Time Transport Control Protocol (RTCP)
in depth overview, but code not up to date: https://hpbn.co/webrtc/
WebRTC - Pros & Cons
Pros |
|
---|---|
Cons |
|
WebRTC - Tutorials
WebRTC - Subpages
- ICE Framework - STUN Server - TURN Server - Session Description Protocol (SDP) - Signaling
- WebRTC - Implementation 0 (You as Signaling Server) - 1 Browser Tabs
- WebRTC - Implementation 0 (You as Signaling Server) - 2 Browser Tabs (v1 - on same machine)
- WebRTC - Implementation 0 (You as Signaling Server) - 2 Browser Tabs (v2 - on diff machines)
- WebRTC - Implementation 1 (Socket.IO as Signaling Server)
, multiple selections available,