سؤال

إنني أتطلع إلى تنفيذ شيء مشابه لدردشة facebook/gmail.أعلم أنهم يستخدمون المذنب والجابر كتقنيتهم.لكني في حيرة من أمري بشأن شيئين.

  1. هل أنا حقا بحاجة إلى جابر؟هل يمكنني بدلاً من ذلك استخدام جدول mysql بسيط يحتوي على "من" و"إلى" و"رسالة" و"إرسال" و"تسجيل"؟هل هناك أي أوجه قصور في استخدام الخلية؟هل هناك أي خسارة في الأداء؟

  2. هل يمكن تنفيذ Comet باستخدام خوادم الويب العادية؟هل أحتاج إلى بعض الخوادم الخاصة؟AFAIK، لا يمكن لـ Apache+php التعامل مع عدد كبير جدًا من الاتصالات المفتوحة؟هل يجب أن أستخدم استطلاعًا بسيطًا، هل سيكون لذلك تأثير سلبي على نظامي؟ما الذي يمكنني استخدامه خارج الصندوق على مضيفي الويب العاديين؟(لأنني إذا قمت ببيع تطبيق الدردشة، فمن المفترض أن يعمل مع معظم الأشخاص.)

  3. ما هي أفضل طريقة (حاليًا) لتنفيذ المذنب؟هل iframe اللانهائي فكرة جيدة؟لن تنتهي مهلة php بعد فترة من الوقت؟هل سيكون حلاً عبر المتصفح أم هل يجب أن أكتب بعض الاختراقات القبيحة؟هل سيؤدي ذلك إلى تحميل الخادم؟ما الذي يستخدمه Gmail و facebook للاتصال الدائم؟

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

المحلول

أسئلة رائعة، ونأمل ألا تضيع هذه الأسئلة في المكدس في عطلة نهاية الأسبوع.إذا كنت تريد استخدام الفلاش، فلديك برنامج تعليمي جيد حول كيفية استخدام PHP والمقابس.بقدر ما يذهب المذنب، أعتقد أنه يجب أن يكون لديك نوع من تنفيذ الخادم.هذا هو المكان الذي تنتهي فيه معرفتي الضعيفة الآن.

مثال بسيط على الاقتراع (jquery + asp.net)http://trappedinhoth.blogspot.com/2009/04/ajax-jquery-chat-demo.html

البرنامج التعليمي لكيروبا (مآخذ PHP5 + فلاش 8)http://www.kirupa.com/developer/flash8/php5sockets_flash8.htm

برنامج دردشة فلاش مفتوح المصدر (جوجل، وغير ذلك الكثير)https://blueimp.net/ajax/

معلومات المذنبhttp://cometdaily.com/

أنا لا أجيب على سؤالك حقًا، فقط أرشدك إلى المزيد من الموارد.أنا فضولي للغاية بشأن ما سيجيب عليه الآخرون.

نصائح أخرى

هل أنا حقا بحاجة إلى جابر؟هل يمكنني بدلاً من ذلك استخدام جدول MySQL بسيط مع ، إلى ، رسالة ، مرسلة و RECD؟هل هناك أي أوجه عدم الكفاءة في استخدام MySQL؟هل هناك أي خسارة في الأداء؟

نعم، أنت بحاجة إلى استخدام جابر وليس الخلية.يمكنك قراءة [نهاية العصر المعماري (حان الوقت لإعادة الكتابة الكاملة)] [1] بقلم Stonebraker et al للحصول على تفاصيل حول سبب كون استخدام نظام RDBMS غير مناسب.

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

المذنب هو مصطلح غامض بعض الشيء ولكن لا داعي للقلق.لا تحتاج إلى خوادم خاصة، ولا يجب عليك استخدام الاقتراع.يمكنك استخدام [BOSH] [2] - وهو أيضًا ما يستخدمه Facebook (وأعتقد أن Gmail).

استخدم [JSJaC] [3] (أو [my fork on Github] [4]) من جانب العميل و [ejabberd] [5] من جانب الخادم.كلاهما يدعم [BOSH] [6] (و [XMPP عبر BOSH] [7]) مما يعني أنه يمكنك إجراء اتصالات HTTP بخادم XMPP مباشرة، وتجنب الاستقصاء والتعامل مع أحمال حركة المرور العالية.

تم وضع إشارة مرجعية على الروابط الخاصة بكل هذه العناصر على http://delicious.com/petef/stackoverflow-843889

أعتقد أنه يمكن تصور Jabber بأمان على أنه برنامج وسيط (أمي)، حيث أن MySQL هي بالتأكيد الواجهة الخلفية (المتجر الدائم).إذن هذا هو التفاح والبرتقال.

لا يمكن لأي من تطبيقات web2.0 ذات النطاق الضخم الاعتماد على RDBMS للمراسلة في الوقت الفعلي نظرًا للقيود التي تتم مواجهتها بسبب ضمانات ACID لنظام RDMBS وخصائص القياس الخاصة به.(فكر في تقسيم جداول SQL الخاصة بك سريعًا لإضافة المزيد من الخوادم للتعرف على واحدة فقط من المشكلات المتضمنة.)

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

لماذا يجب عليك استخدام جابر؟حسنًا، إنه نوع من المعايير، لذلك ستفتح إمكانيات التشغيل المتداخل في المستقبل، حتى لو لم تكن هذه مشكلة في هذه المرحلة.

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

جاهل تمامًا بشأن المذنب، لذا لا تعليق!

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