سؤال

لدي موقع للأعضاء وأرغب في إضافة الدردشة إليه (LAMP في مربع مخصص).ليس من الضروري أن يكون الأمر معقدًا للغاية، ولكن يجب استخدام أسماء المستخدمين الخاصة بالأعضاء الذين قاموا بتسجيل الدخول بالفعل للدردشة.

يعد هذا مشروعًا جانبيًا بالنسبة لي، لذا أفضل عدم كتابته من الصفر إن أمكن وسيكون السيناريو أو الفصل الدراسي الحالي مثاليًا.لقد أجريت القليل من البحث ويبدو أن هناك ميلًا نحو JSON/Ajax، لكن لا يمكنني العثور على أي شيء محدد.

أي نصائح / مؤشرات؟

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

المحلول

فيما يلي مشروعان قد يساعدكما (يعتمد كلاهما على AJAX/JSON):

  • jQuery اياكس الدردشة البرنامج المساعد - مكون إضافي بسيط وخفيف الوزن لـ jQuery.لا توجد أجراس أو صفارات، ولكنها تنجز المهمة.

  • اياكس آي إم - تطبيق ويب متكامل يحاول محاكاة جميع الميزات التي يتوقعها المرء في عميل المراسلة الفورية لسطح المكتب.حجم التنزيل ضخم جدًا (324 كيلو بايت مضغوط).

أستخدم حاليًا الإصدار الأول لنظام المراسلة الفورية الأساسي في أحد مشاريعي.لقد تمكنت من تنفيذه باستخدام بيانات اعتماد النظام لكل مستخدم (نظرًا لأنه تم تسجيل دخولهم بالفعل إلى النظام - بدلاً من السماح لهم باختيار اللقب الخاص بهم).تتضمن العينة كود مصدر PHP للبرنامج النصي الذي يتم استقصاؤه بواسطة AJAX.إنه يعمل بشكل رائع.

نصائح أخرى

هناك ثلاثة أساليب شائعة في بناء نظام دردشة على موقع الويب.

  1. حل برنامج جافا - إما أن تجد أو أنشئ برنامج Java الصغير الذي يتصل بخادم الدردشة.يمكن أن يكون التطبيق الصغير عميل IRC، أو عميل دردشة مخصص مع خادم مخصص.حتى أنني رأيت بعض مواقع الويب تستخدم برنامج Java الصغير كواجهة أمامية للاتصال، حيث يتم تشغيل الواجهة بالكامل بواسطة Javascript وHTML في المتصفح، لكن Javascript يرسل الأحداث ويقبلها من التطبيق الصغير لتشغيل الدردشة.

  2. اياكس النشر/الاستفتاء - في كل مرة يكتب فيها المستخدم رسالة، أرسل الرسالة إلى خادم HTTP، حيث يقوم جميع المستخدمين المتصلين بالاستقصاء بشكل دوري عن الرسائل الجديدة.

  3. المذنب - باستخدام جافا سكريبت بشكل أساسي، يقوم كل عميل بإنشاء اتصال طويل الأمد بخادم HTTP، ويتوقف عن العمل.عندما يتم إرسال رسالة من المستخدم، يتم إرسالها عبر الاتصال الموجود مسبقًا.وبدلاً من التصويت لصالحهم، تتدفق الرسائل الجديدة من المستخدمين الآخرين عبر نفس الاتصال.

أنا شخصياً أجد الخيار الثالث هو الأكثر إثارة، ولكنه الأكثر تعقيدًا أيضًا.ربما ستحتاج إلى إنشاء نسختك الخاصة من خادم HTTP لدعم الاتصال طويل الأمد الذي يتطلبه Comet.وبما أن هناك حد 16 بت لواصفات المقابس في TCP/IP، فستقتصر على حوالي 64 ألف مأخذ توصيل، لكل IP، على الخادم الخاص بك.(تذكر أن كل عميل سيحتاج إلى مقبس مفتوح!) وأخيرًا، تختلف تقنيات إنشاء التعليمات البرمجية من جانب عميل Comet بشكل كبير بين المتصفحات.هناك عدد قليل من الأطر لذلك، ولكن سيتعين عليك الحفاظ عليها أثناء ظهور المتصفحات الجديدة.

إذا كنت تدير موقعًا إلكترونيًا صغيرًا، وترغب في مواجهة تحدي يمكن التغلب عليه، فما عليك سوى استخدام استطلاع AJAX.إنها ممتعة، وليست صعبة للغاية، وسوف تتعلم الكثير.إذا لم يكن من الممكن إزعاجك، فما عليك سوى العثور على تطبيق Java الصغير.بمجرد تهيئته باستخدام خادم مطابق، لن تضطر أبدًا إلى القلق بشأن صيانته، نظرًا لأن هذا الحل لا يهتم بأي عميل على الإطلاق.بالطبع، يتطلب الأمر تثبيت Java Runtime Environment على العميل، وهذا لن يكون صحيحًا دائمًا...

استخدم AJAX لإرسال المشاركات دردشة مع التغيرات الخادم وتحميل مربع الدردشة بشكل دوري (نموذج لديه وظيفة لطيفة للقيام بذلك من شأنها أن تحقق الخادم لتحديث البيانات (المحدث اياكس الدوري)). تحت مواصفاتك من "لا أن مجمع" هذا هو الى حد كبير العظام العارية.

وأوه نعم، وإذا كنت تريد أن يتم حفظ رسائل الدردشة في قاعدة بيانات، وجعل <م> متأكد يمكنك حماية نفسك من حقن SQL.

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