2012-04-27 11 views
5

मैं छोटे वेब एप्लिकेशन पर काम कर रहा हूं जो इंटरनेट के माध्यम से दीपक चालू और बंद करने के लिए उपयोग कर रहा हूं। यदि लैंप पर है तो लैंप छवि पर दिखाया जाता है, अन्यथा यह लैंप छवि दिखाता है। मैं इस एप्लिकेशन को लागू करने के लिए इस प्रक्रिया में सोच रहा हूं: 1- मैं lamp.html 2 सर्वर पर एक HTML फ़ाइल बनाता हूं- प्रत्येक 5 सेकंड दीपक नियंत्रक सर्किट एक PHP सर्वर अनुप्रयोग पर http डेटा भेजता है जो डेटा लेता है और खुलता है lamp.html फ़ाइल और दीपक नियंत्रक से प्राप्त नए डेटा के साथ एचटीएमएल फ़ाइल को फिर से लिखता है। उदाहरण: यदि दीपक चालू है, तो सर्वर एप्लिकेशन लैंप.html को एक दीपक की छवि के साथ एक छवि टैग फ़ाइल लिखता है, और इसी तरह। 3- मैं ब्राउज़र से lamp.html फ़ाइल का अनुरोध करता हूं। पूर्व: http: mysite.com/lamp.html फ़ाइल में प्रत्येक 5 सेकंड ऑटो रीफ्रेश है।वेब अनुप्रयोग: एचटीएमएल और PHP

क्या यह लागू करने की अच्छी प्रक्रिया है? क्या कोई और तरीका है जिसका उपयोग मैं http अनुरोध का उपयोग कर रिमोट कंट्रोल करने के लिए कर सकता हूं?

+0

क्या आप सीधे HTML के बजाय ब्राउज़र से php का अनुरोध कर सकते हैं? –

उत्तर

0

यदि लैंप चालू है या बंद है, तो मुझे प्रत्येक पृष्ठ अनुरोध PHP-स्क्रिप्ट के माध्यम से देखने का अनुरोध होगा, और परिणाम के आधार पर छवि प्रदर्शित करेगा।

<img src="/<?php echo (lamp_is_on() ? 'on' : 'off'); ?>.png"> 
+0

तो आपको दीपक की स्थिति को कुछ फ़ाइल या डेटा बेस में सहेजना होगा, और प्रत्येक बार जब उपयोगकर्ता (ब्राउज़र पर) दीपक की स्थिति का अनुरोध करता है तो आपको डेटा बेस पर जाना होगा और राज्य प्राप्त करना होगा और उसे वापस भेजना होगा उपयोगकर्ता।मैं एचटीएमएल फाइल में दीपक के डेटा को लिखने का सुझाव देता हूं, इस मामले में उपयोगकर्ता की संख्या केवल लिंक भेजकर और एचटीएमएल पेज प्राप्त करके सीधे डेटा पर जा सकती है। – Hisham

0

अगर मैं एक वेब पेज है कि एक दीपक की स्थिति को प्रदर्शित करता है बनाने के लिए थे ...

  1. lamp.html
    होना चाहिए दो divs है। एक छवि पर दीपक और एक दीपक छवि के साथ एक।

  2. getLampInfo.php
    अपने दीपक नियंत्रक से कनेक्ट और 0 या 1

  3. के एक डेटा गूंज चाहिए lamp.html कि getLampInfo.php कॉल हर 5 सेकंड और टॉगल में एक ajax स्क्रिप्ट लिखें प्रतिक्रिया के आधार पर divs।

मैं फ़ाइल ओवरराइटिंग और सामान से निपट नहीं पाऊंगा। यह सब अनावश्यक लगता है। आपका दृष्टिकोण काम करेगा हालांकि इसके साथ बिल्कुल कुछ भी गलत नहीं है।

आशा है कि इससे मदद मिलती है!

2

प्रिंसिपल विचार जो आपको अच्छा लगता है, लेकिन इसमें सुधार के लिए जगह है। लेकिन पहले के सामान्य डिजाइन पर नजर डालते हैं:

enter image description here

आपके सिस्टम यह वास्तव में काफी है सरल करने के लिए करता है, तो सर्वर भंडार अंतिम मान एक फ़ाइल में दीपक द्वारा प्रेषित। आपको प्रत्येक परिवर्तन पर एक पूर्ण HTML फ़ाइल प्रस्तुत करने की आवश्यकता नहीं है, बस फ़ाइल के अंदर एक बाइट को संशोधित करें।

दूसरी ओर ब्राउज़र को पूरे पृष्ठ को हर 5 सेकंड में रीफ्रेश करने की आवश्यकता नहीं होगी। इसके बजाय Stream Updates with Server-Sent Events जैसे कुछ कार्यान्वित करें ताकि दीपक बदलते समय वेबसर्वर वास्तव में ब्राउज़र को बताएगा। ब्राउज़र तब जावास्क्रिप्ट के माध्यम से छवि यूआरएल और अन्य सामान बदल सकता है जो इसे बेहतर दिखता है।

+0

यह बहुत अच्छा लगता है मैं आपके द्वारा साझा किए गए लिंक को पढ़ूंगा और फिर एक उत्तर भेजूंगा ... धन्यवाद !! – Hisham

+0

यह एक ठोस जवाब है। अच्छा विचार, और अच्छा आरेख! –

+0

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

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