2015-11-28 7 views
5

मुझे एक कस्टम वेबआरटीसी सहकर्मी विकसित करने की आवश्यकता है (मुझे वेब ब्राउज़र और गैर-ब्राउज़र के बीच ऑडियो या/और डेटा कनेक्शन स्थापित करने की आवश्यकता है)। हालांकि, हैंडशेक चरण का उचित, स्पष्ट वर्णन खोजने के लिए संघर्ष।वेबआरटीसी सहकर्मी वार्तालाप वर्कफ़्लो कैसा दिखता है?

How to create data channel in WebRTC peer connection? जैसे प्रश्नों के उत्तर पूरी तरह से सहायक नहीं हैं, क्योंकि वे बहुत विस्तृत नहीं हैं। विशेष रूप से, वे एसडीपी सामग्री के बारे में कुछ भी नहीं कहते हैं।

क्या कोई इसे समझा सकता है या किसी भी अच्छे दस्तावेज़ की सिफारिश कर सकता है?

+0

आप संकेत की चर्चा करते हुए कर रहे हैं दुर्लभ और विषय है? – nick

+0

हां। मैं समझता हूं कि शुरुआत में सहकर्मियों को प्रस्ताव/उत्तर देने के लिए एक चैनल बनाने की मेरी भूमिका है, लेकिन मुझे विस्तृत निर्देश नहीं मिल रहे हैं कि इन संदेशों को कैसे बनाया जाना चाहिए। – mspanc

+1

आईसीई से शुरू करें: https://tools.ietf.org/html/rfc5245 - इसमें एसडीपी पर मूल क्षण भी शामिल हैं। असल में, आपको आईसीई और स्टन/टर्न से शुरू करने की आवश्यकता है, फिर एसडीपी के साथ जारी रखें। उस चरण में आपका ऐप एसडीपी पैकेट के साथ आदान-प्रदान करने और सिग्नलिंग चरण पास करने में सक्षम होगा। इसके बाद आपको अपने क्लाइंट के लिए डीटीएलएस प्रोटोकॉल समर्थन लागू करने की आवश्यकता होगी। और फिर एसआरटीपी/एससीटीपी। – fycth

उत्तर

8

Here is a page with some graphs showing how the signaling process works। असल में, आप पहले कुछ क्लाइंट साइड सामान सेट करते हैं:

  • पीयरकनेक्शन फैक्ट्री; पीयरकनेक्शन उत्पन्न करने के लिए,
  • पीयरकनेक्शन; एक अन्य सहकर्मी के लिए प्रत्येक कनेक्शन के लिए एक (आमतौर पर 1),
  • मीडियास्ट्रीम; अपने क्लाइंट डिवाइस से ऑडियो और वीडियो को हुक अप करने के लिए।

तो फिर तुम एक SDPoffer

peerConnection.createOffer(); 
फोन करने वाले की ओर

पैदा करते हैं और कॉल प्राप्त करने वाला को भेजें। कॉल प्राप्त करने वाला यह offer

peerConnection.setRemoteDescription(insert-the-offer-here); 

बनाता और उसका SDPanswer

peerConnection.createAnswer(); 

उत्पन्न करता है और इसे वापस फोन करने वाले के लिए भेजता है। कॉलर को यह answer प्राप्त होता है और इसे सेट करता है।

peerConnection.setRemoteDescription(insert-the-answer-here); 

दोनों फोन करने वाले और कॉल प्राप्त करने वाला

onAddStream() {...} //needs to be implemented in your code 

कॉल प्राप्त करने वाला जब फोन करने वाले का offer सेट किया गया है के लिए एक कॉल और फोन करने वाले जब कॉल प्राप्त करने वाला का answer सेट किया गया है मिलता है। यह कॉलबैक कनेक्शन की शुरुआत को संकेत देता है।
firewall और NAT समस्याओं से बचने के लिए आप ICE (STUN/TURN) का भी उपयोग कर सकते हैं, लेकिन यह वैकल्पिक है। हालांकि उत्पादन कोड में, आप शायद इसे लागू करना चाहते हैं।

नोट: WebRTC प्रलेखन, बदलने के लिए सब कुछ आप WebRTC को एक अलग नज़रिए के साथ (कम से कम अब के रूप में लिखा कुछ भी) के बारे में पढ़ा है ...

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