Summary
P2P media/data via ICE/STUN/TURN for NAT traversal — signaling server sets up connection. Not HTTP — separate security model (DTLS-SRTP). Frontend: getUserMedia permissions, connection state UI, bandwidth adaptation. TURN required when P2P fails.
Code example
const pc = new RTCPeerConnection({ iceServers: [{ urls: 'stun:stun.l.example.com' }] });
pc.addTrack(localStream.getTracks()[0]);
const offer = await pc.createOffer();
await pc.setLocalDescription(offer);
signaling.send({ type: 'offer', sdp: offer.sdp });
Key points
- P2P media/data via ICE/STUN/TURN for NAT traversal — signaling server sets up connection.
- Not HTTP — separate security model (DTLS-SRTP).
- Frontend: getUserMedia permissions, connection state UI, bandwidth adaptation.
- TURN required when P2P fails.