توضح هذه المقالة إنشاء تطبيق دردشة بسيط باستخدام socket.io و backbone.js. يسهل Socket.io تطبيقات الويب التفاعلية في الوقت الفعلي ، في حين أن Backbone.js تقوم بتكوين رمز من جانب العميل لتحسين الإدارة والفصل. من المفترض أن الألفة مع Node.js و Express ؛ العمود الفقري والمعرفة السفلية.
مفاهيم المفاتيح:
، والتي تستخدم
HomeModel . مجموعات العمود الفقري تحديث العرض بناءً على تغييرات النموذج. عميل Socket.io يتولى اتصالات الخادم.
.
بنية العميل:
يوضح رسم تخطيطي (انظر الصورة الأصلية أدناه) بنية جانب العميل: وحدة تحكم سد عميل Socket.io والعرض ، وتحديث النموذج بناءً على إدخال العميل ، وتعكس التغييرات في العرض عبر روابط العمود الفقري.
homeModel (/public/js/models/main.js): Buducted&&] يتضمن طرقًا لإضافة وإزالة المستخدمين والمحادثات.
قالب الصفحة الرئيسية (/public/index.html): Budap & am يحدد بنية html لواجهة الدردشة ، بما في ذلك قائمة الدردشة وقائمة المستخدم عبر الإنترنت.
الدردشة
محادثة). يستخدم
socket.emit () لتلقي الرسائل.
mainController (/public/js/main.js): Budap &&&] يقوم بتنظيم التواصل بين المشاهدات والموديلات وعميل socket.io باستخدام حافلات الأحداث (
Appeventbus يتعامل مع تسجيل الدخول ، ورسائل الدردشة ، والانضمام/المغادرة ، ويقوم بتحديث النموذج وفقًا لذلك.
bootstrap (/public/js/main.js): Budap&&] تهيئة mainController
لبدء التطبيق.
تنفيذ خادم-سايد:
يستخدم رمز جانب الخادم node.js و express و socket.io.
chatserver (/scripts/Chatserver.js): Budapy&&] يدير المستخدمين عبر الإنترنت ( المستخدمين
صفيف) ، ( قم بفصل
الحدث) ، ويدير قوائم المستخدمين عبر الإنترنت (
). يستخدم نموذج المستخدم لتمثيل المستخدمين المتصلين.
يوضح مخطط (انظر الصورة الأصلية أدناه) تدفق الرسالة بين العميل والخادم.
الخلاصة والأسئلة الشائعة:
تختتم المقالة بتلخيص وظيفة التطبيق ومعالجة الأسئلة الشائعة حول الأمان ، قابلية التوسع ، استمرار البيانات ، المراسلة الخاصة ، معالجة الأخطاء ، والاختبار. توفر هذه الأسئلة الشائعة إرشادات عملية حول تعزيز وتوسيع تطبيق الدردشة الأساسية. يتم الاحتفاظ بقسم الأسئلة الشائعة حول النص الأصلي بالكامل.
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3