peerconnection_connect.html (1123B)
1 <!DOCTYPE html> 2 <html> 3 <head><meta charset="UTF-8"></head> 4 <body> 5 <div id="Page that opens a two peerconnections, and starts ICE"></div> 6 <script> 7 const test = async () => { 8 const offerer = new RTCPeerConnection(); 9 const answerer = new RTCPeerConnection(); 10 offerer.addTransceiver('audio'); 11 12 async function iceConnected(pc) { 13 return new Promise(r => { 14 if (pc.iceConnectionState == "connected") { 15 r(); 16 } 17 pc.oniceconnectionstatechange = () => { 18 if (pc.iceConnectionState == "connected") { 19 r(); 20 } 21 } 22 }); 23 } 24 25 offerer.onicecandidate = e => answerer.addIceCandidate(e.candidate); 26 answerer.onicecandidate = e => offerer.addIceCandidate(e.candidate); 27 await offerer.setLocalDescription(); 28 await answerer.setRemoteDescription(offerer.localDescription); 29 await answerer.setLocalDescription(); 30 await offerer.setRemoteDescription(answerer.localDescription); 31 await iceConnected(offerer); 32 await iceConnected(answerer); 33 offerer.close(); 34 answerer.close(); 35 }; 36 test(); 37 </script> 38 </body> 39 </html>