2010-07-22 12 views
5

मैं एक वेबफॉर्म डिज़ाइन करना चाहता हूं जिसे उपयोगकर्ता को कुछ फ़ील्ड भरना चाहिए। एक फ़ील्ड का मान क्लाइंट कंप्यूटर के सीरियल पोर्ट (COM1) से पढ़ा जाना चाहिए, जो एक विशेष हार्डवेयर से जुड़ा हुआ है और उपयोगकर्ता फॉर्म भरते समय हार्डवेयर की Send to PC कुंजी दबाता है।वेबपृष्ठ में सीरियल पोर्ट से कैसे पढ़ा जाए

मैं अपने वेबपृष्ठ में COM1 पोर्ट कैसे सुन सकता हूं और COM1 का मान प्राप्त कर सकता हूं और इसे स्वचालित रूप से वेब फॉर्म में रख सकता हूं?

मैंने सुना है कि ActiveX नियंत्रण ऐसा कर सकता है लेकिन यह केवल IE (दाएं?) के साथ संगत है। दूसरा विकल्प जावा एप्लेट्स है।

मैं एक साधारण समाधान चाहता हूं जो कम से कम आईई/फ़ायरफ़ॉक्स/ओपेरा के साथ संगत हो।

मैं सर्वर-साइड में एएसपी या PHP प्राप्त कर सकता हूं लेकिन यदि आप प्रत्येक के लिए समाधान देते हैं तो मैं सराहना करता हूं।

अद्यतन:

हम ग्राहकों को बताना हमारे ActiveX/एप्लेट स्वीकार करने के लिए उनकी सुरक्षा सेटिंग में बदलाव कर सकते हैं।

हमारे लिए ग्राहकों को एक कस्टम प्रोग्राम स्थापित करने के लिए भी कहना संभव है जो सेवा के रूप में चलता है और सीरियल पोर्ट से पढ़ता है।

समस्या यह है कि पढ़ा गया डेटा स्वचालित रूप से और तुरंत वेबफॉर्म में दर्ज किया जाना चाहिए।

जावा एप्लेट एक अच्छा विचार है, लेकिन क्लाइंट को जेआरई स्थापित करना है जो आकार में बड़ा है।

क्या कोई अन्य विकल्प है?

+0

इसे वेबपृष्ठ क्यों होना चाहिए? आपके पास क्लाइंटसाइड ऐप हो सकता है (जिसमें कॉम पोर्ट से बात करने में कोई समस्या नहीं होगी) डेटा को वेबपृष्ठ, रीस्टफुल सेवा, या डब्ल्यूएस- * सेवा में सबमिट करें। –

+0

@ मैथ्यू: आप सही हैं लेकिन यह वेबपृष्ठ एक बड़ी वेबसाइट का हिस्सा है और बीओएसएस पसंद करता है कि सभी चीजें वेब में एकीकृत हों। : -/ – Isaac

उत्तर

3

जावा एप्लेट के साथ आप सीरियल पोर्ट से पढ़ सकते हैं लेकिन आपको सुरक्षा कारणों से एप्लेट पर हस्ताक्षर करने की आवश्यकता है। अनधिकृत रूप से फर्म (कोई सूर्य की फर्म नहीं) आपको प्रमाणपत्र बनाना होगा। Here एक उदाहरण है।

+0

क्या आप लिंक को अपडेट कर सकते हैं? यह लिंक समाप्त हो गया है –

1

यह वेब के लिए सबसे सुरक्षा मॉडल तोड़ने लगता है। मैं इस तरह से नहीं सोच सकता कि एक ऐपलेट या ActiveX को बिना किसी अनुमति के नियंत्रण के ब्राउज़र में करना संभव होगा (और फिर भी मुझे यकीन नहीं है कि यह संभव है)। मुझे लगता है कि धारावाहिक बंदरगाह के साथ संचार करने के लिए किसी प्रकार के देशी "मोटी" क्लाइंट-साइड एप्लिकेशन की आवश्यकता होती है।

+0

हमारे ग्राहकों को एप्लेट को ऐसी अनुमति देने के साथ कोई समस्या नहीं है। मैंने स्पष्टीकरण के लिए प्रश्न भी अपडेट किया है। – Isaac

0

जावा क्रॉस-ब्राउज़र और क्रॉस-प्लेटफ़ॉर्म संगतता को बनाए रखने के लिए आपकी सबसे अच्छी पसंद हो सकती है। एक त्वरित खोज इन पृष्ठों है कि आप उपयोगी मिल सकता है लाया:

सर्वर साइड पसंद बिल्कुल नहीं फर्क पड़ता है। एक बार जब ग्राहक डेटा पढ़ता है, तो यह सर्वर-साइड स्क्रिप्ट पर कोई अन्य डेटा भेजने जैसा ही होता है।

+2

हालांकि इसके लिए एक वसा ग्राहक की आवश्यकता होगी क्योंकि सुरक्षा प्रतिबंधों के कारण इसे एप्लेट से नहीं किया जा सकता है। – Chris

4

मैं एक ही समस्या को हल कर रहा था और मैंने इसे किया। यह एक जावा वेब एप्लेट का उपयोग कर किया जाता है। आपको नेटबीन की आवश्यकता होगी। पहले "readme" पढ़ें। अगर कुछ भी मुझे बताओ, कृपया।

http://racky.wz.cz/applet_rs232.zip

धारावाहिक COM1 के लिए बनाया गया है। इसे दूसरे छोर पर एक आरएस -223 केबल और छोटा (कनेक्ट) पिन 2 और 3 प्लग करें।

+1

+1 यह उत्तर कानूनी लगता है और अधिक ध्यान की आवश्यकता है। यह शायद इस समस्या के लिए एक अच्छा टेम्पलेट कोड है। – Isaac

+0

@ रैकी: दूषित फ़ाइल – GerManson

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