Tôi đang gặp sự cố khi hiểu webRTC với sự kiện PeerConnection và 'onicecandidate'.tại sao không "onicecandidate" làm việc?
Theo tôi hiểu, bạn phải bắt đầu kết nối ngang bằng máy chủ STUN (hoặc TURN), vì nó sẽ gửi lại cho bạn ứng viên ICE để liên lạc với một người khác.
Tôi đã xem các ví dụ để lại thông số máy chủ của đối tượng PeerConnection, điều mà tôi cũng không hiểu, nhưng chúng ta hãy nói rằng nó cần tham số máy chủ.
Vì vậy, khi tôi viết ra đoạn mã sau:
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);
}
tôi hy vọng rằng sự kiện 'onicecandidate' sẽ cháy, nhưng nó không hoạt động. Tôi đã thử các máy chủ STUN công cộng khác, nhưng không có gì xảy ra. Vì vậy, tôi cho rằng có thể có điều gì đó sai trái với hiểu biết của tôi :)
Tôi không chắc chắn, tại sao tôi viết nó như một bình luận, nhưng tôi nghĩ rằng bạn phải chạy pc.createOffer khi xử lý sự kiện được thiết lập để thực sự tạo ra một ứng cử viên. –
Cảm ơn Andreas, tôi sẽ cố gắng chắc chắn. Sau khi đọc hướng dẫn 'Bắt đầu với WebRTC' trên htmlRocks, tôi kết luận rằng việc thu thập các ứng cử viên ICE và thông tin SDP là các quy trình độc lập và bắt buộc để có được luồng từ xa, nhưng bạn có thể ở ngay đó. – Fab
Có thể trùng lặp của [WebRTC không bao giờ kích hoạt onIceCandidate] (https://stackoverflow.com/questions/27489881/webrtc-never-fires-onicecandidate) – Qix