RTCPeerConnection Durum Makinesi
WebRTC birbirine bağlı birden fazla durum makinesi kullanır. Bu geçişleri anlamak, bağlantı sorunlarını ayıklamanın anahtarıdır.
Signaling State
RTCPeerConnection.signalingState
Müzakere tamamlandığında signalingState tekrar stable'a döner. pranswer varyantları (provisional answer) bu basitleştirilmiş diyagramda gösterilmemiştir.
ICE Connection State
RTCPeerConnection.iceConnectionState
completed, başarılı ICE doğrulamasının ardından gelir. disconnected geçici bir kopukluğu, failed ise kalıcı bir hatayı belirtir.
Connection State
RTCPeerConnection.connectionState
connectionState, ICE ve DTLS durumlarının birleşik halidir:
connecting— ICE veya DTLS henüz tamamlanmadı.connected— Tüm transport katmanları aktif.disconnected— Geçici kopukluk; ICE restart denenebilir.failed— Kalıcı hata, bağlantı kurulamadı.
ICE Gathering State
RTCPeerConnection.iceGatheringState
setLocalDescription() çağrısı ile gathering başlar; tüm candidate'ler toplandığında onicecandidate son olarak null ile tetiklenir.