2015-08-23 11 views
6

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

हालांकि मैं सामान्य रूप से वेबआरटीसी और वेब प्रोग्रामिंग के लिए बहुत नया हूं। तो शायद मुझे नहीं पता कि क्या खोजना है।

तो, मैं एक अलग नेटवर्क चलाने या इंटरनेट से कनेक्ट किए बिना स्थानीय नेटवर्क पर वेबआरटीसी का उपयोग करके लोगों को स्वचालित रूप से कैसे कनेक्ट कर सकता हूं? वे अपने कंप्यूटर पर एक एचटीएमएल फाइल खोलने और उसी नेटवर्क पर ऐसा करने वाले सभी लोगों से जुड़ने में सक्षम होना चाहिए, भले ही कोई इंटरनेट न हो।

धन्यवाद!

+2

वेबआरटीसी [एक खोज तंत्र नहीं है] (http://stackoverflow.com/questions/29032884/why-signaling-server-needed-for-webrtc/29056385#29056385), जब तक आप गिनती न करें [sharedrop.io] (https://www.sharedrop.io) करता है, जो कि समान रूप से उन लोगों से जुड़ने के लिए वेबआरटीसी का उपयोग करता है जो एक ही लैन पर हैं, और फिर उनके बीच लैन-केवल फ़ाइल स्थानांतरण को ऑर्केस्ट्रेट करते हैं। क्यों "इंटरनेट नहीं" प्रतिबंध? जब तक आप जंगल में केबिन में न हों, मैं ऐसा कुछ करने की कोशिश करूंगा। – jib

+0

@jib मैंने साझा्रॉप की कोशिश की और ऐसा लगता है कि यह बहुत अच्छी तरह से काम करता है। क्या इस बारे में कोई स्पष्टीकरण है कि उन्होंने लैन पर अपनी खोज कैसे की? –

+1

यह शायद बाहरी आईपी पते द्वारा समूह अनुरोध करता है, जो आपके लैन (जैसे आपके राउटर के बाहरी आईपी) पर सभी मशीनों से समान होगा। इसके अतिरिक्त यह वेबआरटीसी के माध्यम से प्रत्येक मशीन के स्थानीय आईपी पते को जानता है। – jib

उत्तर

3

कम से कम एक मशीन को सर्वर होने की आवश्यकता है, इस अर्थ में कि इसे बंदरगाह खोलने की आवश्यकता है जिसे यह सुनता है। यह सभी कनेक्शन के साथ जीवन का एक तथ्य है; जब एक मशीन कनेक्शन खोलती है, तो दूसरे छोर पर दूसरी मशीन होने की आवश्यकता होती है जो प्रतिक्रिया देती है। इसके बिना, कोई कनेक्शन कभी नहीं बनाया जा सकता है।

यदि आप एक या सभी मशीनों को बंदरगाह पर सुनना चाहते हैं, तो आप एक लैन पर वेबआरटीसी सेट कर सकते हैं। इस मामले में, आपको STUN या TURN की आवश्यकता नहीं होगी क्योंकि कोई एनएटी ट्रैवर्सल नहीं है।

+0

आह, समझ में आता है।मेजबान होने वाला एक स्थानीय खिलाड़ी ठीक है। यह कैसे किया जा सकता है? मुझे लगता है कि सभी ट्यूटोरियल स्थानीय होस्ट की बजाय STUN/TURN का उपयोग करके कुछ दूरस्थ सर्वर मानते हैं। –

+0

@TheOddler अपने LAN पर मौजूदा सर्वर कार्यान्वयन और सेटअप से प्रारंभ करें। पीयर स्टैन/टर्न के बिना लैन पर कनेक्ट करने में सक्षम होना चाहिए। एक बार आपके पास यह काम करने के बाद, आप यह समझ सकते हैं कि सर्वर कार्यक्षमता को अपने कोड के साथ कैसे दोहराना है। यह मूल रूप से उन सहकर्मियों के बीच एसडीपी संदेशों को पारित करने का विषय है, जिन्हें आप कनेक्ट करना चाहते हैं, जो इस पर निर्भर करेगा कि आपका एप्लिकेशन कैसे कार्य करना है। – mattm

2

वेबआरटीसी किसी प्रकार के सिग्नलिंग तंत्र के बिना काम नहीं कर सकता है। असल में, आपके ग्राहकों को कम से कम एक दूसरे के बारे में कुछ जानने की जरूरत है, और वेबआरटीसी की शर्तों में यह 'कुछ' एक एसडीपी पैकेज (सत्र विवरण प्रोटोकॉल) है। एसडीपी पैकेजों का आदान-प्रदान करने के बाद, वेबआरटीसी इंजन ग्राहकों को सबसे प्रत्यक्ष तरीके से जोड़ने की कोशिश करेगा।

इस लेख का प्रयास करें: http://www.html5rocks.com/en/tutorials/webrtc/basics/

यह आप कैसे WebRTC काम करता है की बुनियादी समझ दे देंगे, और आप अपने आप को अपने सवाल का जवाब होगा। कीवर्ड: सिग्नलिंग, स्टन और टर्न।

शुभकामनाएं!

2

दो सहकर्मी प्रत्यक्ष कनेक्शन स्थापित करने से पहले, दोनों को डेटा के एक सेट (नेटवर्क पैरामीटर, मीडिया कॉन्फ़िगरेशन, उपयोग करने योग्य प्रोटोकॉल इत्यादि) के साथ आदान-प्रदान करना चाहिए, ताकि वे एक-दूसरे से जुड़ सकें। वे एसडीपी (सत्र विवरण प्रोटोकॉल) का उपयोग कर इस प्रक्रिया को कर सकते हैं।

इसलिए, आपको नेटवर्क में एक सिग्नलिंग सर्वर की आवश्यकता है जो हर संभावित सहकर्मी द्वारा पहुंचा जा सकेगा। जब कोई ग्राहक 'वेबआरटीसी नेटवर्क' से कनेक्ट करना चाहता है, तो इसे पहले सिग्नलिंग सर्वर से कनेक्ट करना चाहिए। फिर, सिग्नलिंग सर्वर अन्य सहकर्मियों को सूचित करेगा कि हमारे पास एक नया है, और सभी सहकर्मी सिग्नलिंग सर्वर के माध्यम से एसडीपी के साथ डेटा का आदान-प्रदान करेंगे। इसके बाद, सहकर्मी नए सहकर्मी से सीधे संबंध स्थापित करने में सक्षम होंगे। जब प्रत्यक्ष कनेक्शन स्थापित होता है, तो सभी डेटा सीधे सहकर्मियों के बीच जाते हैं।

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