عبدالعزيز برغش نشر 22 يوليو 2016 أرسل تقرير نشر 22 يوليو 2016 ماهي آلية عمل نظام الإشعارات في مواقع مثل أكاديمية حسوب مثلا أو حسوب io اقتباس
2 يوسف سيد نشر 22 يوليو 2016 أرسل تقرير نشر 22 يوليو 2016 (معدل) بالنسبة لتنبيهات سطح المكتب: تطلب الإذن من المتصفح بالوصول لها -ثم المتصفح يرى هل لك الإذن وإن كان لا، يسأل المستخدم -> بعدما تحصل على الإذن يمكنك استخدام الواجهة البرمجية لتنبيهات سطح المكتب، أما عن جلب التنبيهات من الخادوم يوجد العديد من الطرق أشهرها: 1. طلبات متعددة باستخدام Ajax: الحل الأسهل والأكثر شيوعًا، إلّا أنه يسبب بعض التحميل على الخادم( أي العتاد الكبير) والخادوم(أي البرمجية التي تعالج الطلبات) بسبب الطلبات المتعددة، أيضًا برمجيًا ليس جيدًا إن كانت هنالك حلولًا أُخرى متوّفرة، أيضًا هو المستخدم في حسوب IO بحسب آخر مرة كتبت إضافة له، وجدته يطلب طلبات متعددة. 2. إتصال مفتوح لجلب التحديثات SSE: تفتح إتصالًا بدون حدٍ أدني للطلب وتعالج الطلبات القادمة من الخادوم دونما إنقطاع، قد يكون الحل الأفضل في حالة البرمجة بلغة PHP وأشباهها التي لا تعطي حرية في التصنت على منفذ معين -هذا الشائع بالطبع يوجد بعض الـHacks لكنها لغة كتبتْ لِتصنع الصفح- لحسن الحظ المتصفحات توّفر API لذلك، كتبتُ هذا المقال عن استخدامها مع PHP في السابق. 3. مقبس(Socket) بين الخادوم والمتصفح: قديمًا لم تكن هنالك حلولًا جيدة لكن مع قدوم الـWebSocket أصبح ذلك سهلًا تفتح مقبسًا ترسل الردود بين الخادم والمتصفح بسهولة. على الجانب: مع الإصدار الجديد من بروتوكول HTTP الذي هو HTTP/2 بات يدعم إرسال ردودٍ متعددة بين الخادوم والمتصفح، لكنه حاليًا ما زال جديدًا، لننتظر قليلًا وسنجد الكثير من المكتبات على نغم *.js. تم التعديل في 22 يوليو 2016 بواسطة يوسف سيد 1 اقتباس
1 يوسف سيد نشر 23 يوليو 2016 أرسل تقرير نشر 23 يوليو 2016 (معدل) بتاريخ 9 ساعات قال zezo mohamed: شكرا @يوسف سيدعلى الإجابة الجميلة هل يمكنك توضيح أكثر كيف يمكن تطبيق الحل الأول وهو "طلبات متعددة باستخدام Ajax" أي ما هي خطوات وطريقة تنفيذه؟ مع أني لا أنصحك بهاته الطريقة، لديك ضربان للقيام بها: 1. استخدام الدالة setInterval لصنع مؤقت للطلبات: حل سيء جدًا جدًا، لأنّ العمل غير متزامن(async) قد يبدأ طلب قبل تحميل السابق، وتتكدث الطلبات دونما تنظيم. 2. دالة للطلب تستدعيها لأول مرة ثم بعد التحميل تطلب نفسها مجددًا وهكذا دواليك هذا الحل الأفضل في هاته الطريقة إلّا أني ما زلتُ أنصحك بـSSE. للطلبات استخدم XMlHttpRequest أو مكتبة تساعدك في الطلبات لا أنصحك باستخدام مكتبة في البداية، أيضًا أظنُ أني كتبتُ مثالًا لذاك في مقال SSE ستجد الرابط في الرّد السابق. تم التعديل في 23 يوليو 2016 بواسطة يوسف سيد اقتباس
0 عبدالعزيز برغش نشر 22 يوليو 2016 الكاتب أرسل تقرير نشر 22 يوليو 2016 شكرا @يوسف سيدعلى الإجابة الجميلة هل يمكنك توضيح أكثر كيف يمكن تطبيق الحل الأول وهو "طلبات متعددة باستخدام Ajax" أي ما هي خطوات وطريقة تنفيذه؟ اقتباس
السؤال
عبدالعزيز برغش
ماهي آلية عمل نظام الإشعارات في مواقع مثل أكاديمية حسوب مثلا أو حسوب io
3 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.