كم مرة يجب ويب الدردشة العميل التحقق من التحديثات ؟

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

  •  11-09-2019
  •  | 
  •  

سؤال

أنا تصميم صفحة ويب على أساس ميزة الدردشة تطبيق من شأنها أن تعمل نوع من مثل facebook chat أو google talk داخل gmail.أنا أتساءل عما إذا كان أي شخص لديه أي نصيحة حول كيفية غالبا ما يجب التحقق من التحديثات ؟ كل 2 ثانية ؟ كل 5 ثواني ؟ 10 ثوان ؟

أيضا, يجب أن أتصل setTimeout في وظيفة رد الاتصال من setTimeout ، أو في رد على طلب اياكس للحصول على التحديثات ؟ في الأساس يجب أن يكون ن ثانية بين المكالمات ، أو ن ثانية بين الانتهاء من آخر طلب تبدأ من التالي ؟

شكرا

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

المحلول

يمكنك استخدام شيء مثل مذنب (AKA عكس AJAX) للحصول على اتصال مستمر بدلا من تزايد الخادم عدة مرات.

خلاف ذلك، أود أن أقول 2-3 ثواني يجب أن تكون مجموعة جيدة. أي شيء أقل سوف يضع الإجهاد لا مبرر له على الخادم، وأي شيء أطول من شأنه أن يجعل التطبيق يشعر بطيئا.

نصائح أخرى

أود أن أجعلها ديناميكية. حدد بعض النطاق الذي لا تريد الخروج منه، مثل 2 إلى 10 ثوان، وابدأ في منتصف نقطة، كما يقول 5 ثوان. إذا كانت استطلاعات الرأي الخاصة بك دائما إرجاع رسائل جديدة، فقم بخفض فترة الانتظار نحو الحد الأدنى الخاص بك. إذا كانت استطلاعات الرأي تبدأ العودة فارغة، فزيادة نحو الحد الأقصى الخاص بك. سيعطيك هذا توازن عادل بين الاستجابة عند الحاجة وإعطاء خادمك استراحة عندما لا يوجد شيء يحدث.

هل نظرت إلى القائم على الحدث النهج ؟ بهذه الطريقة سوف تحصل على السلوك في الوقت الحقيقي ، وحفظ الموارد وحفظ لك الحاجة إلى الخروج مع الذكية الفاصل الزمني للاستقصاء.

إذا كان لأي سبب من الأسباب كنت بحاجة إلى استخدام الاقتراع أود أن تذهب مع بدء قصيرة-الفاصل الذي هو ضعف طول الوقت الذي كنت تتوقع إخطارا تحدث في المتوسط ومن ثم زيادة الفاصل الزمني من وقت لآخر إذا كان هناك شيء جديد لتجنب يدق الخادم الخاص بك دون داع.وإن كان في عام إجابة جيدة حقا يتوقف على ما يفعله النظام.

من أجل الدردشة ، استنادا الحدث هو الطريقة المثلى للذهاب imho.

ومع ذلك في كثير من الأحيان تحديثات.

ما يعنيه هذا هو أنه يمكنك ملف تعريف نظامك الخاص، وتحديد الوقت الأمثل للتحقق من التحديثات مقابل تحميل.

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