Я разрабатываю систему сигнализации между двумя одноранговыми узлами и заметил, что событие RTCPeerConnection.onicecandidate не запускается. Я проверил iceGatheringState, и он всегда возвращается как «новый», что означает, что одноранговое соединение не начало поиск ледяных кандидатов.
Как инициировать сбор ледяных объектов-кандидатов с локального компьютера для отправки одноранговому узлу?
а также
Если я не хочу собирать кандидатов, как я смогу отправить их через sdp после того, как их соберут?
Это мой текущий код, я могу успешно получать данные sdp и захватывать их для отправки, поэтому единственные проблемы - лед и проверка, подключены ли два клиента.
var peerConn = new webkitRTCPeerConnection(
{'iceServers':[{'url':'stun:stun.1.google.com:19302'}]}
);
var remoteConn = new webkitRTCPeerConnection(
{'iceServers':[{'url':'stun:stun.1.google.com:19302'}]}
);
alert(peerConn.iceGatheringState);
///Event Handlers//
//will be called when each event occurs
//onicecandidate
//returns local ice candidates (when gathered) to be sent to peer
//peerConn.onicecandidate = onicecandidate;
peerConn.onicecandidate = function(iceEvent){ //not firing
if(iceEvent.candidate === null){
alert(peerConn.iceConnectionState);
alert(iceEvent.candidate);
//send to peer or put in with sdp data
}
}