كيفية برمجة نظام اشعارات؟-اشكالية-

السلام عيكم ورحمة الله وبركاته

كيف حال أعضاء منبر حسوب؟

أنا بصدد برمجة تطبيق ويب وهو عبارة عن موقع تواصل اجتماعي واحتاج فيه لنظام اشعارات و كذلك تحديث تلقائي للمنشورات حينما يحدث تغير في قاعدة البيانات

أرجو من الاخوة ان يفيدونا، قرأت عن تقنيات webSockets و SSE و long polling

ما هي اقوى تقنية و أفضله؟ و سؤال اخر ماهي يا ترى القنية المستخدمة في موقع facebook


ليست لي خبرة في التقنيات المذكورة ، لكن بالنسبة لعمل نظام إشعارات فيمكنك عمل جدول في قاعدة البيانات و عند عمل لايك مثلا يتم تخزين الإشعار في الجدول و يظهر للمستخدم.

و بالنسبة لتحديث تلقائي للصفحات او المشنورات فيمكنك إستعمال AJAX.

شكرا أخي ،لكن اظنني لم اطرح سؤالي جيدا فأنا مشكلتي في كيفية جلب التحديثات من قاعدة البيانات ، ولا اظن ajax حلا لها

تستخدم الـAjax في الـlong polling بشكل متكرر من صفحة تعالج الأمر من قاعدة البيانات دائمًا ما أقول عن ذاك الحل أنه غبي أحيانًا في استخدامه، يفضل استخدام SSE أو WebSockt الأخير لا تحتاجه لأنك لن ترسل الردود إلى الخادم، شاهد أيضًا هذا المقال:

ال AJAX بالتاكيد ليس الحل المثالي لكنه الشائع و الأكثر إستخدام و مناسب للمواقع الصغيرة و المتوسطة.

يوسف سيد أضف ردا

نعم هو الشائع، لكنه ليس مناسبًا للمواقع الصغيرة -أكثر-، عملية بداية الطلب عمومًا تأخذ الكثير من الوقت/الموارد في الكثير من خوادم الويب ومع الكثير من الطلبات يصبح الأمر كارثيًا، لذا SSE أفضل في هاته الحالات.

KernelCode أضف ردا

ال SSE تحتاج الى long execution time وقد لايكون متاح في الاستضافات المشتركة غالباً في المواقع الصغيرة .. وكذالك ال websockets تحتاج تشغيلها كخدمة على السيرفر المشترك وقد لايكون متاح .. لذالك الlong polling عبر الـ AJAX هو الخيار الامثل لكل المشاريع الصغيره من حيث سرعه التطبيق والامكانيه :) ..

يوسف سيد أضف ردا

استخدمتُ استضافة مجانية من قبل وكانت تسمح بتغيير ذلك في ملف php.ini أغلبها تسمح بذلك من الدالة set_time_limit(0) مثلًا، أستبعد الـWebSocket تمامًا :)