Google Siyah toplulukları için ırksal eşitlik ilerleyen kararlıdır. Nasıl olduğunu gör.
Bu sayfa, Cloud Translation API ile çevrilmiştir.
Switch to English

akran bağlantıları

RTCPeerConnection WebRTC API merkezi arabirimdir. Bu yerel ve uzak eş arasındaki bağlantıyı temsil eder ve bağlantı kurmak için gerekli olan tüm fonksiyon ve olayları provice.

Bir akran bağlantısı kuruluyor

WebRTC işlevselliği uygulama Uygulamalar genellikle temeline dayanmaktadır olacak RTCPeerConnection arayüzüne. (Olduğunu, bir bağlantı kurulurken akran), bağlantı kurmak için süreç genellikle şudur arayanlar taraftan:

  1. Yeni oluştur RTCPeerConnection uygun BUZ yapılandırmayla örneği.
  2. Kullanarak bir yerel SDP açıklamasını oluşturun RTCPeerConnection.createOffer() .
  3. Kullanarak yerel SDP açıklaması Set RTCPeerConnection.setLocalDescription() .
  4. Transferi uzak eşe yerel SDP açıklaması (a sinyalizasyon hizmeti kullanan).
  5. İçin bir dinleyici ol icecandidate olaylara RTCPeerConnection .
  6. Her biri için icecandidate olaylar, uzak eşe (bir sinyal hizmeti kullanan) transfer.
  7. Sinyalizasyon hizmetinden gelen uzaktan SDP açıklaması bekleyin ve kullanma ayarlayın RTCPeerConnection.setRemoteDescription() .
  8. Sinyalizasyon hizmetinden gelen uzaktan BUZ adaylar için bekleyin ve kullanarak ekleme RTCPeerConnection.addIceCandidate()

Aranan tarafında, işlem biraz farklıdır.

  1. Yeni oluştur RTCPeerConnection uygun BUZ yapılandırmayla örneği.
  2. Sinyalizasyon hizmetinden gelen uzaktan SDP açıklaması bekleyin ve kullanma ayarlayın RTCPeerConnection.setRemoteDescription() .
  3. Arayarak uzaktan SDP açıklaması için bir cevap oluşturma RTCPeerConnection.createAnswer() .
  4. Transferi uzak eşe cevap (bir sinyal hizmeti kullanan).
  5. İçin bir dinleyici ol icecandidate olaylara RTCPeerConnection .
  6. Her biri için icecandidate olaylar, uzak eşe (bir sinyal hizmeti kullanan) transfer.
  7. Sinyalizasyon hizmetinden gelen uzaktan BUZ adaylar için bekleyin ve kullanarak ekleme RTCPeerConnection.addIceCandidate()

Bu API ile zorluk bu operasyonların en sık karmaşık bir WebRTC uygulamasının gerçek uygulama yapmak, hangi asenkron olmasıdır. İşlevlerinin çoğu bir dönüş Promise sürecinde bir sonraki adım devam etmeden önce çözülmesi gerekmektedir.

Bu API, geliştirici yapmak kullanımını kullanarak uygulama uygularken önerilir async ve await yerine dinleyicileri kaydetme (kullanarak Promise.then() bu daha kolay kodunuzu yapar gibi), takip etmek. Aşağıdaki örneği inceleyelim:

 function createAndSendOffer(peerConnection, signallingService) {
    peerConnection.createOffer()
                  .then(offer => {
                      signallingService.send({
                          type: 'offer',
                          data: offer
                      });
                  });
}
 

Kullanarak yukarıdaki kod yazarken async ve await , biz şu olsun:

 async function createAndSendOffer(peerConnection, signallingService) {
    const offer = await peerConnection.createOffer();
    signallingService.send({
        type: 'offer',
        data: offer
    });
}