tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

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>