2009-12-01 11 views
15

तो यह एक लंबा शॉट है, मैं इसके साथ शुरू करूंगा।जावास्क्रिप्ट में बोनजोर डिस्कवरी? शायद?

क्या यह अकेले जावास्क्रिप्ट में बोनोज़ विज्ञापन विज्ञापित HTTP सेवाओं को खोजना संभव हो सकता है?

यह उपयोगी क्यों होगा? कुछ डेटा (जैसे आपका वर्तमान लेट/लांग) की देखभाल करने वाली स्थानीय सेवा की कल्पना करें, डेटा को webservice के माध्यम से उजागर किया जाता है और बोनजोर ज़ीरोकॉन्फ़ द्वारा विज्ञापित किया जाता है। ए (रिमोट) वेबसाइट आपके वर्तमान लेट/लांग को जानना चाहती है और यह जानने के बजाय कि आप MyGPSserverVersion2 चला रहे हैं, साइट _Compatible_location_services._tcp के लिए स्थानीय बोनर खोजने के लिए जावास्क्रिप्ट का उपयोग कर सकती है और फिर एक बार आईपी पता जारी रखेगी।

यदि यह असंभव है (मुझे लगता है कि यह संभवतः मामला है, जावास्क्रिप्ट काफी प्रतिबंधित है) तो बाधाएं क्या हैं और क्या किसी के पास कोई विचार है कि उन्हें कैसे दूर किया जाए?

उत्तर

3

यह संभव हो रहा है क्रोम के Sockets API का उपयोग करके, लेकिन मैंने केवल एक कर्सर लुक लिया है।

mdns-browser एपीआई का उपयोग करके इसे लागू करने के लिए प्रतीत होता है।

+0

सॉकेट एपीआई केवल क्रोम ऐप्स के संपर्क में है, न कि ब्राउज़र में जेएस कोड चल रहा है। –

7

संक्षिप्त उत्तर नहीं (कम से कम लिनक्स प्लेटफ़ॉर्म पर नहीं)।

मजेदार आपको पूछना चाहिए: मैं वेब ब्राउज़र की पहुंच के भीतर इस तरह की कार्यक्षमता लाने पर काम कर रहा हूं। इस प्रयास में मेरी सफलता में से एक NPAPI mDNS plugin for Chrome है। प्लगइन मूल रूप से Avahi ZeroConf (एमडीएनएस - मल्टीकास्ट DNS सर्वर) के साथ इंटरफेस करता है। एक "हल्के" डेटाबेस (एक ला CouchDB) कि उनके HTTP अंतिम-बिंदुओं रजिस्टर करने के लिए डेस्कटॉप अनुप्रयोग द्वारा उपयोग किया जाएगा:

मैं वर्तमान में इस अंतर को बंद करने के अभी तक एक और पुल पर काम कर रहा हूँ। एक्सटेंशन तब जावास्क्रिप्ट से उन अंत-बिंदुओं को पढ़ेंगे और विज्ञापित सेवाओं के साथ सीधे बातचीत करने में सक्षम होंगे।

अद्यतन:W3C Service Discovery के माध्यम से आशा है।

+0

ऐसा लगता है कि यह वास्तव में उपयोगी हो सकता है! क्या आप सेवा को औपचारिक बनाने के लिए आश्वस्त हो सकते हैं? मुझे लगता है कि मैं एक बाहरी रूबी ऐप को चाबुक कर सकता हूं जो मैक ओएस पर एक ही सेवा प्रदान करेगा - यह चलने के लिए क्रूर का एक अतिरिक्त हिस्सा होगा, लेकिन यह सभी ब्राउज़रों के लिए उपलब्ध होगा। –

1

इस पुस्तकालय का दावा जावास्क्रिप्ट में यह करने के लिए: http://quickconnect.sourceforge.net/browser/index.html

मैं स्वीकार करने के लिए है कि मैं अगर यह जावास्क्रिप्ट :) में Bonjour सेवाओं को खोजने के लिए संभव हो गया था बहुत रुचि होगी है

+0

मैंने इसे देखा और यह अभी भी जावास्क्रिप्ट को आईओएस बोनजोर कार्यों का पर्दाफाश करने के लिए कुछ उद्देश्य-सी का उपयोग करता है। – parsley72

1

मुझे यह एक पुराना धागा पता है। मिले इस GitHub परियोजना आप mDNS का उपयोग कर खोज करने के लिए (और प्रकाशित) सेवाओं की अनुमति देता है - https://github.com/watson/bonjour

शुद्ध जावास्क्रिप्ट में एक Bonjour/Zeroconf प्रोटोकॉल कार्यान्वयन। स्थानीय नेटवर्क पर सेवाएं प्रकाशित करें या मल्टीकास्ट DNS का उपयोग कर मौजूदा सेवाओं की खोज करें।

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