मेरे पास एक वेब अनुप्रयोग है जो हार्डवेयर के कुछ विशिष्ट टुकड़ों के लिए समर्थन के साथ चल रहा है। यह निम्न चरणों में हासिल की है:वेब अनुप्रयोग से हार्डवेयर समर्थन
- उपयोगकर्ता एक छोटा सा संस्थापक क्लाइंट मशीन पर जावा फ़ाइलें (और एक जोड़ी अन्य) देता है कि चलाता है। मुख्य टुकड़ा "हार्डवेयर प्रबंधक" नामक एक जार है
- उपयोगकर्ता विज़िट वेब ऐप। वेब ऐप एक जावा ऐपलेट चलाता है, जो ए .java.policy फ़ाइल के इंस्टॉल के दौरान रखा गया है, को ब्राउज़र सैंडबॉक्स के बाहर क्लाइंट मशीन के साथ बातचीत करने की अनुमति है।
- एप्लेट यह सुनिश्चित करने के लिए जांच करता है कि हार्डवेयर प्रबंधक चल रहा है, और यदि इसे प्रारंभ करने के लिए कोई आदेश नहीं चलाता है।
- उपयोगकर्ता वेब ऐप के साथ इंटरैक्ट करता है जो जावास्क्रिप्ट के माध्यम से एप्लेट को आदेश भेजता है। तब एप्लेट क्लाइंट मशीन पर एक पाठ फ़ाइल पर कमांड लिखता है। हार्डवेयर प्रबंधक द्वारा पाठ फ़ाइल की लगातार निगरानी की जाती है जो
यह काम करता है, लेकिन गुंजाइश लगता है। मेरे पास कुछ सुधार हैं कि इसे कैसे सुधारें, लेकिन मुझे नहीं पता कि कौन सा, यदि कोई है, तो कोशिश करने लायक भी है।
क्या हार्डवेयर प्रबंधक को सॉकेट सर्वर के रूप में स्थापित करना बेहतर होगा और ऐप्पल सीधे टेक्स्ट फ़ाइलों के माध्यम से कनेक्ट होने के बजाय कनेक्ट होगा? क्या यह भी संभव है?
क्या एप्लेट को पूरी तरह से खत्म करने का कोई तरीका है और सीधे जावास्क्रिप्ट से जावास्क्रिप्ट बात है? शायद हार्डवेयर प्रबंधक को स्थानीय http सर्वर के रूप में लिखकर? यह किस पोर्ट पर चलाना चाहिए? जावास्क्रिप्ट xss सीमाएं कहीं यहां फिट हैं?
यदि आप हार्डवेयर प्रबंधक को HTTP अनुरोध स्वीकार करते हैं तो उसे निश्चित रूप से जेएस द्वारा सीधे एक्सेस किया जा सकता है, इससे भी बेहतर आप इसे आरईएसटी वेब सेवा के रूप में कमांड लागू करने के लिए डिज़ाइन कर सकते हैं। एक्सएसएस: यहां कोई समस्या नहीं है। आपको आदेशों को स्वीकार करने के लिए हार्डवेयर प्रबंधक चलाने के लिए निश्चित रूप से आवश्यकता होगी, और किस पोर्ट पर जानने का तरीका होगा। – Viruzzo
@ विरुज़ू के उत्तर में जोड़कर, आप [जेटी] (http://docs.codehaus.org/display/JETTY/Embedding+Jetty) का उपयोग कर सकते हैं जो जावा एप्लिकेशन के अंदर आसानी से एक http सर्वर एम्बेड करने की अनुमति देता है। तो आप हार्डवेयर प्रबंधक –
Viruzzo से बातचीत करने के लिए बस जावास्क्रिप्ट कोड को स्थानीयहोस्ट पर निर्देशित करें, कृपया इसे उत्तर दें ताकि मैं इसके लिए वोट दे सकूं। – pkh