Mam problemy ze zrozumieniem webRTC z wydarzeniem PeerConnection i "onicecandidate".dlaczego funkcja "onicecandidate" nie działa?
O ile rozumiem, musisz musi zainicjować połączenie równorzędne za pomocą serwera STUN (lub TURN), ponieważ odeśle on twojego kandydata na ICE do komunikacji z innym partnerem.
Widziałem przykłady pozostawiając parametr serwera obiektu PeerConnection, którego nie rozumiem, ale powiedzmy, że potrzebuje parametru serwera.
Tak więc, gdy piszę następujący kod:
var pc, ice = { "iceServers": [{ "url": "stun:stun.l.google.com:19302" }] };
if(typeof mozRTCPeerConnection === 'function') {
pc = new mozRTCPeerConnection(ice);
}
else {
console.log('google');
pc = new webkitRTCPeerConnection(ice);
}
pc.onicecandidate = function(event) {
console.log(event);
}
Spodziewam się, że „onicecandidate” zdarzenie będzie ognia, ale to nie działa. Próbowałem także innych publicznych serwerów STUN, ale nic się nie dzieje. Zakładam więc, że prawdopodobnie coś jest nie tak z moim zrozumieniem :)
Nie jestem entierly pewny, dlaczego piszę to jako komentarz, ale myślę, że musisz uruchomić pc.createOffer, gdy procedury obsługi zdarzeń są skonfigurowane tak, aby faktycznie stworzyć kandydata. –
Dzięki Andreas, spróbuję tego na pewno. Po przeczytaniu samouczka "Pierwsze kroki z WebRTC" na temat htmlRocks doszedłem do wniosku, że gromadzenie kandydatów na ICE i informacji SDP to niezależne i obowiązkowe procesy w celu uzyskania zdalnego strumienia, ale możesz być na miejscu. – Fab
Prawdopodobny duplikat [WebRTC nigdy nie uruchamia onIceCandidate] (https://stackoverflow.com/questions/27489881/webrtc-never-fires-onicecandidate) – Qix