عرض المحتوى الديناميكي من جزءا لا يتجزأ من خادم الويب
-
09-12-2019 - |
سؤال
لدي جزءا لا يتجزأ من جهاز تشغيل مشذبة الإصدار من ملقم HTTP.حاليا, فإنه يمكن عرض صفحات HTML ثابتة.هنا هو مثال على كيفية عرض صفحة HTML ثابتة:
char *text="HTTP/1.0 200 OK\r\nContent-Type: text/html\r\n\r\n"
"<html><body>Hello World!</body></html>";
IPWrite(socket, (uint8*)text, (int)strlen(text));
IPClose(socket);
ما أود القيام به هو عرض المحتوى الديناميكي ، على سبيل المثالالقراءة من أجهزة الاستشعار.ما فكرت حتى الآن هو أن يكون تحديث الصفحة في كل مرة واحدة في لحظة مع
<meta http-equiv="refresh" content="600">
واستخدام sprintf() لتوصيل أجهزة الاستشعار القراءة النص متغير الاستجابة.
هل هناك طريقة أستطيع أن أفعل ذلك دون الحاجة إلى تحديث الصفحة باستمرار ؟
المحلول
يمكنك محاولة ما يلي (من تجربتي) النهج:- تقسيم والدينامية المحتوى تقليل المحتوى الديناميكي.
- إنشاء الزائفة CGI واجهة ، أيURL your_embedded_site/الاستشعار.cgi يجب أن يكون منضما إلى الجيل التالي استجابة HTTP:
sprintf(cgi_str, "HTTP/1.0 200 OK\r\nContent-Type: text\r\nContent-Length: %d\r\n\r\nvalue=%02d", 8, sensor_value);
أو فقط (هذا هو كل شيء عن اعتبارات التصميم):
sprintf(cgi_str, "HTTP/1.0 200 OK\r\nContent-Type: text\r\nContent-Length: %d\r\n\r\n%02d", 2, sensor_value);
- استخدام جافا سكريبت بسيطة أو صغيرة java طلب بشكل دوري your_embedded_site/الاستشعار.cgi.علما أن جافا سكريبت عموما المتصفح تعتمد و قد يكون مغلقا, java أيضا تتطلب إضافية محتوى ثابت - بعض *sensor_reader.class" ولكن لديها غير عادية الحرية في عرض البيانات وتوسيع بسيطة القراءة تظهر مع المزيد من الميزات.
هذا يسمح لتنظيم الاتصالات في طريقة فعالة بدلا من إعادة تحميل كامل الصفحة:جزء من رمز المستخدم الأمامية - سيتم تنفيذها في متصفح آخر الجزء الخلفي نهاية على جزءا لا يتجزأ من الجهاز.
نصائح أخرى
يرجى القيام ليس استخدام تطبيق java لتوفير هذا.
Ajax و JavaScript Client-Side يجعل هذا النوع من الأشياء سهلة، دون أن يكون عضلات تطبيق مدمجة.
حيث يمكن أن تشمل "nastiness":
- مشاكل أمن جافا
- عدم تطابق وقت تشغيل جافا
- زيادة حجم الحمولة (التطبيقات الكبيرة، مقارنة بفتات من رمز جافا سكريبت)
- مشاكل السرعة (قد يكون بطيئا في بدء تشغيل التطبيق الصغير)
- صفحة الويب أصعب للحفاظ على
- وهلم جرا.
في الملخص: إنه 2013، فقط استخدم JavaScript و Ajax.