Google is committed to advancing racial equity for Black communities. See how.
This page was translated by the Cloud Translation API.
Switch to English

পিয়ার সংযোগগুলি

RTCPeerConnection কেন্দ্রীয় ইন্টারফেস। এটি স্থানীয় এবং দূরবর্তী পিয়ারের মধ্যে সংযোগ উপস্থাপন করে এবং সংযোগ স্থাপনের জন্য প্রয়োজনীয় সমস্ত ক্রিয়াকলাপ এবং ইভেন্টগুলি সরবরাহ করে।

পিয়ার সংযোগ স্থাপন করা হচ্ছে

RTCPeerConnection কার্যকারিতা বাস্তবায়নকারী অ্যাপ্লিকেশনগুলি সাধারণত RTCPeerConnection ইন্টারফেসে প্রচুর নির্ভর করে। কলকারী পক্ষ থেকে (অর্থাত্ পিয়ারটি একটি সংযোগের সূচনা করে), সংযোগ স্থাপনের প্রক্রিয়াটি সাধারণত নিম্নলিখিত:

  1. উপযুক্ত আইসিই কনফিগারেশন সহ একটি নতুন RTCPeerConnection উদাহরণ তৈরি করুন।
  2. RTCPeerConnection.createOffer() ব্যবহার করে একটি স্থানীয় এসডিপি বর্ণনা তৈরি করুন।
  3. RTCPeerConnection.setLocalDescription() ব্যবহার করে স্থানীয় এসডিপি বর্ণনা সেট করুন।
  4. স্থানীয় এসডিপি বর্ণনাটি দূরবর্তী পিয়ারে স্থানান্তর করুন (সিগন্যালিং পরিষেবা ব্যবহার করে)।
  5. একটি শ্রোতা নিবন্ধন icecandidate ঘটনা RTCPeerConnection
  6. প্রতিটি icecandidate ইভেন্টের জন্য, এটিকে (সিগন্যালিং পরিষেবা ব্যবহার করে) রিমোট icecandidate স্থানান্তর করুন।
  7. সিগন্যালিং পরিষেবা থেকে আগত রিমোট এসডিপি বিবরণের জন্য অপেক্ষা করুন এবং এটি RTCPeerConnection.setRemoteDescription() ব্যবহার করে সেট করুন।
  8. সিগন্যালিং পরিষেবা থেকে আগত দূরবর্তী আইসিই প্রার্থীদের জন্য অপেক্ষা করুন এবং তাদেরকে RTCPeerConnection.addIceCandidate() ব্যবহার করে যুক্ত করুন

কলি দিকে, প্রক্রিয়াটি কিছুটা আলাদা।

  1. উপযুক্ত আইসিই কনফিগারেশন সহ একটি নতুন RTCPeerConnection উদাহরণ তৈরি করুন।
  2. সিগন্যালিং পরিষেবা থেকে আগত রিমোট এসডিপি বিবরণের জন্য অপেক্ষা করুন এবং এটি RTCPeerConnection.setRemoteDescription() ব্যবহার করে সেট করুন।
  3. RTCPeerConnection.createAnswer() কল করে রিমোট এসডিপি বর্ণনার জন্য একটি উত্তর তৈরি করুন।
  4. স্থানান্তর (সিগন্যালিং পরিষেবা ব্যবহার করে) রিমোট পিয়ারের উত্তর।
  5. একটি শ্রোতা নিবন্ধন icecandidate ঘটনা RTCPeerConnection
  6. প্রতিটি icecandidate ইভেন্টের জন্য, এটিকে (একটি সংকেত পরিষেবা ব্যবহার করে) রিমোট icecandidate স্থানান্তর করুন।
  7. সিগন্যালিং পরিষেবা থেকে আগত দূরবর্তী আইসিই প্রার্থীদের জন্য অপেক্ষা করুন এবং তাদেরকে RTCPeerConnection.addIceCandidate() ব্যবহার করে যুক্ত করুন

এই এপিআইয়ের সাথে চ্যালেঞ্জ হ'ল এর মধ্যে বেশিরভাগ অপারেশনগুলি অ্যাসিনক্রোনাস হয়, যা প্রায়শই কোনও ওয়েবআরটিসি অ্যাপ্লিকেশনটির প্রকৃত বাস্তবায়নকে জটিল করে তোলে। ফাংশনগুলির মধ্যে অনেকগুলি একটি Promise যা প্রক্রিয়াটির পরবর্তী ধাপটি চালিয়ে যাওয়ার আগে সমাধান করতে হবে।

এটি প্রস্তাবিত যে এই এপিআই, বিকাশকারীর করতে ব্যবহার ব্যবহার করে কোনো অ্যাপ্লিকেশন বাস্তবায়নের async এবং await (ব্যবহার পরিবর্তে শ্রোতার নিবন্ধনের Promise.then() ), অনুসরণ করতে এই আপনার কোড আরো সহজ করে তোলে। নিম্নলিখিত উদাহরণ বিবেচনা করুন:

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

উপরের কোডটি async ব্যবহার করে এবং await , আমরা নিম্নলিখিতটি পাই:

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