2012-02-27 9 views
5

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

क्रोम के लिए प्लगइन का सबसे अच्छा विकल्प क्या है? क्या मुझे मूल क्लाइंट के साथ जाना चाहिए या क्या मैं कुछ कम घुसपैठ कर सकता हूं (हालांकि मुझे परिभाषा द्वारा नामित पाइप का एहसास है कि काफी घुसपैठ कर रहे हैं)?

+3

मूल ग्राहक की मेरी समझ यह सैंडबॉक्स है; मुझे गंभीरता से संदेह है कि आप NaCl के साथ ऐसा कर सकते हैं। AFAIK एकमात्र अन्य विकल्प एनएसएपीआई है। –

+0

हाँ, यही वही है जो मैं उम्मीद कर रहा था। मैं बस एक एनएसएपीआई रैपर का उपयोग करने में देख सकता हूं। चीयर्स! – dreijer

+1

क्या आपका मतलब एनपीएपीआई था? यदि हां, तो आप उस उद्देश्य के लिए एनपीएपीआई प्लगइन का उपयोग कर सकते हैं ... यदि आप एनपीएपीआई प्लगइन विकसित कर रहे हैं तो आप फायरब्रिथ को भी देखना चाहेंगे ... –

उत्तर

2

मूल क्लाइंट वास्तव में सैंडबॉक्स किया गया है, जैसा टिप्पणियों द्वारा इंगित किया गया है, और एनपीएपीआई सेवानिवृत्त हो गया है।

  1. उपयोग HTTP, वैकल्पिक रूप से WebSockets के साथ, स्थानीय एप्लिकेशन (या किसी प्रॉक्सी आवेदन के साथ कि किसी भी उपयोग करते हुए एक तीसरे पक्ष के अनुप्रयोग के लिए बात करेंगे:

    दो एक चल मूल एप्लिकेशन संपर्क करने के लिए वर्तमान समाधान होते हैं पाइप समेत देशी विधि) localhost पर एक सर्वर के रूप में कार्य कर रहा है और विस्तार एक ज्ञात बंदरगाह से कनेक्ट करने का प्रयास कर रहा है। GhostText इस वास्तुकला का एक उदाहरण है।

  2. Native Messaging का उपयोग करें। इस दृष्टिकोण की सीमाओं को समझना महत्वपूर्ण है:

    • यह बाहरी प्रक्रिया में पाइप के रूप में कार्य करता है, लेकिन मूल संदेश (JSON- आधारित) प्रोटोकॉल का पालन करना चाहिए।
    • यह वर्तमान में चल रही प्रक्रिया (या पाइप) से जुड़ा नहीं जा सकता है: क्रोम केवल मूल होस्ट का एक नया उदाहरण शुरू कर सकता है, और संपर्क बाहर से शुरू नहीं किया जा सकता है।

    तो उन सीमाओं को ध्यान में रखते हुए, आपका मूल होस्ट एक प्रॉक्सी होगा जो स्वयं नामित पाइप से प्रश्न में संलग्न होगा और डेटा को रिले करेगा, इसे मूल संदेश प्रोटोकॉल में/से अनुवाद करेगा।

+0

नामित पाइप के साथ मूल संदेश का उपयोग कैसे किया जा सकता है? क्या मुझे बाहरी प्रक्रिया की आवश्यकता है जो JSON डेटा लेता है और फिर नामित पाइप से जुड़ता है? या, मूल संदेश के साथ सीधे पाइप के साथ STDIO करने का कोई तरीका है? संदर्भ के लिए, मुझे एक स्वतंत्र रूप से एक एफएफएमपीईजी प्रक्रिया में दो स्वतंत्र धाराएं भेजने की आवश्यकता है ताकि उन्हें विलय किया जा सके, जिसके लिए मैं एसटीडीआईओ के साथ क्या कर सकता हूं उससे अधिक की आवश्यकता है। एक नामित पाइप आवश्यक है। – Brad

+0

आपकी समझ है कि आपको "प्रॉक्सी" प्रक्रिया की आवश्यकता होगी जो नामित पाइप से कनेक्ट होगा सही है। – Xan

1

तुम्हें पता है, अजीब पर्याप्त मैं बस आप के माध्यम से नामित पाइप देख सकते हैं देखा:

फ़ाइल: //./pipe/

मैं इस खोज की है जब मैं उनके बारे में विकिपीडिया लेख पढ़ रहा था , इसकी प्रतिलिपि बनाई, और फिर बाद में सोचा कि मैंने एक यूआरएल कॉपी किया है और इसके बजाय क्रोम में गलती से चिपकाया है।

आप एक्सप्लोरर या फ़ाइल सिस्टम से भी इसका उपयोग नहीं कर सकते हैं।

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