أفضل طريقة لإظهار الإخطارات والرسائل التي تعيش على صفحة ويب؟

StackOverflow https://stackoverflow.com/questions/2073425

سؤال

أنا مهتم بطريقة جيدة حقًا للقيام بالرسائل الفورية مثل Meebo و Facebook و MySpace ، أيضًا ، أيضًا للإشعارات على الصفحة. مثال على موقعي الآن ، عندما يتلقى المستخدم رسالة بريد جديدة ، تعليق الصورة ، تعليق الملف الشخصي ، طلب الصداقة ، بعض الأشياء الأخرى ، سيتلقى رسالة إشعار وربط على الصفحة التي يستخدمونها على jQuery و Ajax.

أعتقد على نطاق واسع أن هذه ليست أفضل طريقة للقيام بذلك على الرغم من أن رمز jQuery الخاص بي سيتعين عليه تشغيل برنامج نصي PHP بشكل أساسي للاستعلام عن جدول MySQL كل 30 ثانية أو نحو ذلك لكل مستخدم يفتح الصفحة مع هذا البرنامج النصي ادارة. أود في النهاية إضافة نوع من الرسائل الفورية مثل Facebook في شريط دردشة في أسفل الشاشة إذا كان بإمكاني اكتشاف طريقة فعالة للقيام بذلك.

لقد سمعت المصطلحات Comet و HTML5 Websockets ، لكنني لست متأكدًا مما إذا كانت هذه هي الحلول التي يجب أن أبحث عنها لمثل هذه الميزة؟ أرغب في الحفاظ على عرض النطاق الترددي على الأقل وتشغيل استعلام كل بضع ثوانٍ لا يبدو فعالًا للغاية في موقع حركة مرور عالية.

إذا كنت تعرف بعض الحلول الجيدة ، فيرجى توضيح كيفية عملها قليلاً من فضلك

هل كانت مفيدة؟

المحلول

أعتقد أنه يستخدم Facebook XMPP لدردشةهم ، لذا ألق نظرة عليها.

XMPP هو

تقنية مفتوحة للاتصال في الوقت الفعلي ، والتي تعمل على تشغيل مجموعة واسعة من التطبيقات بما في ذلك المراسلة الفورية ، والوجود ، والدردشة متعددة الأحزاب ، ومكالمات الصوت والفيديو ، والتعاون ، والبرامج الوسيطة الخفيفة ، ونقل المحتوى ، والتوجيه المعمم لبيانات XML.

قمت بتثبيت A. خادم منفصل للتعامل مع الرسائل وفي تطبيقك ، تقوم بتنفيذ عميل مع أحد المتاحة المكتبات.

نصائح أخرى

أنت تبحث عن خادم "مذنب". نظرًا لأنك تتحدث PHP ، فإن الحل الأفضل لك هو حل SaaS ، مثل WebSync عند الطلب, ، نظرًا لأن PHP لديه مشاكل في التحجيم عندما يتعلق الأمر بأعداد كبيرة من الاتصالات المتزامنة التي يتم فتحها. أنظر أيضا هذا السؤال.

هل يمكن أن يكون لديك قائمة انتظار رسالة مشتركة يمكن أن يستفسرها أياكس؟ ربما يكون نص PHP يخزن غالبية الرسالة في memcached (وربما الكتابة إلى DB في حالة الفشل).

لست متأكدا ، ولكن فضولي لسماع حلول أخرى ...

المشكلة الأساسية هي أنك تحتاج إلى تنفيذ خادم المذنب (أي تطبيق Push Server). لا يسمح لك مضيفي الويب القياسي و Apache بسهولة بالقيام بذلك بسهولة. حل آخر مستضاف (بصرف النظر عن مزامنة الويب) هو خادم Goldfish. مجانا حاليا.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top