2015-04-02 10 views
6

वेबआरटीसी एक सहकर्मी-सहकर्मी संचार प्रोटोकॉल है। मुझे आश्चर्य है, क्या यह वास्तव में सहकर्मी है अगर इसे वेब सर्वर की आवश्यकता होती है? उदाहरण के लिए, "कमरा" बनाने के लिए इसे apprtc.appspot.com या https://hello.firefox.com/something पर बनाना होगा।क्या वेबआरटीसी वास्तव में पीयर-टू-पीयर प्रोटोकॉल है?

+0

मीडिया स्ट्रीमिंग पीयर-टू-पीयर है (जब रिले के लिए टर्न सर्वर का उपयोग नहीं किया जाता है, जिसे कभी-कभी एनएटी ट्रैवर्सल के लिए आवश्यक होता है)। प्रत्येक पीयर-टू-पीयर प्रोटोकॉल में सहकर्मियों को जोड़ने के लिए निर्धारित करने का एक तरीका है ... –

+0

आप वेबआरटीसी के साथ उलझन में उलझन में हैं। आपको कनेक्शन जानकारी के साथियों को सूचित करने की आवश्यकता है ताकि वे सीधे कनेक्ट हो सकें, सर्वर आधारित समाधान पसंद नहीं करते हैं, फ्लैश ड्राइव और वेबआरटीसी के साथ डेटा स्थानांतरित करते हैं। – Xaqron

उत्तर

12

यह एक वास्तविक पी 2 पी प्रोटोकॉल है इंटरनेट पर दो मनमानी पार्टियों के बीच प्रत्यक्ष सर्वर-कम संचार स्थापित कर सकते हैं। एक बार संचार स्थापित हो जाने के बाद, किसी तीसरे पक्ष की आवश्यकता नहीं होती है।

यह कुछ चेतावनियां हालांकि साथ आता है:

  1. दो साथियों पहले एक दूसरे को ढूंढने की जरूरत है। यह संकेत चरण वेबआरटीसी विनिर्देश से उद्देश्य से छोड़ा गया है, क्योंकि वेबआरटीसी प्रोटोकॉल ब्राउज़र के लिए विशिष्ट नहीं है और विभिन्न परिस्थितियों में किसी भी प्रकार के विभिन्न उपकरणों द्वारा इसका उपयोग किया जा सकता है। साथियों के प्रत्येक समूह का अपना स्वयं का संदर्भ होगा और उन्हें विभिन्न खोज विधियों की आवश्यकता होगी। आप शायद एक मध्यस्थ चाहते हैं जो कुछ व्यवसाय नियमों के अनुसार जानकारी के प्रवाह को नियंत्रित करता है।

    इस प्रारंभिक सिग्नलिंग चरण को स्थापित करने के लिए कुछ अन्य पी 2 पी प्रोटोकॉल का उपयोग कर सकता है; उदाहरण के लिए यदि आप अन्य सहकर्मी एक ही सबनेट पर हैं तो आप अपने स्थानीय सबनेट पर यूडीपी पैकेट को प्रसारित कर सकते हैं। आप अपने सिग्नलिंग के लिए वाहक कबूतरों का भी उपयोग कर सकते हैं; हालांकि यह अव्यवहारिक संभावना है। ब्राउज़र के भीतर सामान्य इंटरनेट पर इसका सबसे व्यावहारिक तरीका किसी प्रकार या किसी अन्य के केंद्रीय संदेश दलाल का उपयोग करना है।

  2. दो मनमानी साथियों के बीच सीधा संबंध स्थापित करना हमेशा संभव नहीं होता है। कभी-कभी यह नेटवर्क टोपोलॉजी वास्तविकताओं से बाधित होता है, उदाहरण के लिए गैर अनुमोदित फ़ायरवॉल या एनएटी राउटर। इस मामले में दोनों सहकर्मियों के लिए पी 2 पी तरीके से संवाद करने के लिए शारीरिक रूप से असंभव है और तीसरे पक्ष के रिले की आवश्यकता है; यह एक टर्न सर्वर के रूप में WebRTC विनिर्देश में शामिल है।

तो, WebRTC दिल में एक पूर्ण पी 2 पी प्रोटोकॉल है, लेकिन यह आसान नेटवर्किंग वास्तविकताओं जो कभी कभी, या हो सकता है अक्सर, एक सर्वर के मदद के लिए हाथ की आवश्यकता है के साथ काम करने की जरूरत है।

+0

दाएं, वेबआरटीसी पीयर-टू-पीयर * ट्रांसमिशन * हल करता है, खोज नहीं। [यह उत्तर] देखें (http://stackoverflow.com/questions/29032884/why-signaling-server-needed-for-webrtc/29056385#29056385) एक jsfiddle के लिए जो आपके लिए सोर्सिंग खोज द्वारा उस अंतर को हाइलाइट करता है (एसएमएस , ब्लूटूथ, वाहक-कबूतर)। – jib

2

आपके टैग के अनुसार (क्रोम एफएफ), यह प्रश्न ब्राउज़र पर केंद्रित है।

आप WebRTC के साथ एक कॉल आरंभ करना चाहते हैं:

  • आप एक सर्वर से अपने वेब पेज (WebRTC आवेदन) डाउनलोड करने के लिए (यह वैकल्पिक हो सकता है अगर आप पहले से ही अपने कंप्यूटर पर डाउनलोड की है) की आवश्यकता होगी ।
  • दोनों ब्राउज़रों को कुछ सूचनाओं (कोडेक्स, आईसीई उम्मीदवार ...) का आदान-प्रदान करना है, जिन्हें एसडीपी भी कहा जाता है। यह कदम अनिवार्य है और आपको सर्वर का उपयोग करना चाहिए। लेकिन आप किसी भी अन्य तकनीक (Xaqron की टिप्पणी) शामिल कर सकते हैं।
  • यदि ब्राउज़र एनएटी के पीछे हैं, तो उन्हें अपने सार्वजनिक आईपी पते पुनर्प्राप्त करने के लिए STUN सर्वर की आवश्यकता है।
  • यदि दो ब्राउज़र में से एक एक प्रतिबंधित एनएटी या फ़ायरवॉल के पीछे है, तो आपको मीडिया रिले का उपयोग करना होगा जिसे टर्न सर्वर भी कहा जाता है।

निष्कर्ष निकालने के लिए, यदि आप पी 2 पी में वेबआरटीसी के साथ मीडिया या डेटा का आदान-प्रदान करना चाहते हैं, तो आपको कुछ सर्वरों का उपयोग करना चाहिए। आम तौर पर मीडिया को पी 2 पी में एक्सचेंज किया जाएगा, हालांकि कभी-कभी मीडिया को टर्न सर्वर द्वारा रिले किया जाएगा यदि एक या दोनों ब्राउज़र एक प्रतिबंधित एनएटी, फ़ायरवॉल के पीछे हैं ....

संबंधित मुद्दे