Avanzado
35 min
Guía completa
Señalización en WebRTC
Aprende cómo funciona la señalización y el intercambio de ofertas, respuestas y candidatos ICE
¿Qué es la señalización?
WebRTC no define el canal de señalización. Necesitas un servidor (WebSocket/HTTP) para intercambiar SDP offers/answers y ICE candidates.
Flujo básico
- Cliente A crea la oferta (offer)
- Envía offer al servidor de señalización
- Cliente B recibe offer y responde con answer
- Ambos intercambian ICE candidates
Offer/Answer
// En el emisor
const offer = await pc.createOffer();
await pc.setLocalDescription(offer);
signal.send({ type: 'offer', sdp: offer });
// En el receptor
await pc.setRemoteDescription(offer);
const answer = await pc.createAnswer();
await pc.setLocalDescription(answer);
signal.send({ type: 'answer', sdp: answer });
ICE Candidates
pc.onicecandidate = (event) => {
if (event.candidate) {
signal.send({ type: 'candidate', candidate: event.candidate });
}
};
// Recibir candidate
await pc.addIceCandidate(candidate);
⚠️ Recomendaciones
- • Autentica usuarios en el canal de señalización
- • Maneja reintentos y reconexión
- • Registra métricas de fallos ICE