freeCodeCamp/curriculum/challenges/arabic/06-information-security-and.../advanced-node-and-express/handle-a-disconnect.arabic.md

3.0 KiB

id title challengeType videoUrl localeTitle
589fc831f9fc0f352b528e76 Handle a Disconnect 2 التعامل مع قطع الاتصال

Description

وللتذكير ، يجري بناء هذا المشروع على المشروع المبدئي التالي في Glitch ، أو مستنسخ من GitHub . قد تلاحظ أن لديك حتى الآن زيادة عدد المستخدمين فقط. إن التعامل مع قطع اتصال المستخدم أمر سهل تمامًا مثل التعامل مع الاتصال الأولي ، باستثناء الفارق ، يجب عليك الاستماع إليه على كل مأخذ مقابل على الخادم بأكمله.
للقيام بذلك ، أضف إلى مستمع الاتصال الموجود مستمعًا يستمع إلى "قطع الاتصال" على المقبس بدون بيانات تم تمريرها. يمكنك اختبار هذه الوظيفة بمجرد تسجيل الدخول إلى وحدة التحكم التي قام مستخدم بفصلها. socket.on('disconnect', () => { /*anything you want to do on disconnect*/ }); للتأكد من أن العملاء لديهم العدد المحدّث من المستخدمين الحاليين بشكل مستمر ، يجب عليك تقليل عدد المستخدمين الحاليين بمقدار 1 عندما يحدث قطع الاتصال ثم إرسال الحدث "عدد المستخدمين" مع العدد المحدّث! ملحوظة
تمامًا مثل "قطع الاتصال" ، يجب التعامل مع جميع الأحداث الأخرى التي يمكن أن ينبعث منها مأخذ توصيل إلى الخادم داخل المستمع المتصل حيث تم تعريف "المقبس". أرسل صفحتك عندما تظن أنك على صواب.

Instructions

Tests

tests:
  - text: يعالج الخادم فصل الحدث من المقبس
    testString: 'getUserInput => $.get(getUserInput("url")+ "/_api/server.js") .then(data => { assert.match(data, /socket.on.*("|")disconnect("|")/gi, ""); }, xhr => { throw new Error(xhr.statusText); })'
  - text: يستمع عميلك إلى حدث "عدد المستخدمين"
    testString: 'getUserInput => $.get(getUserInput("url")+ "/public/client.js") .then(data => { assert.match(data, /socket.on.*("|")user count("|")/gi, "Your client should be connection to server with the connection defined as socket"); }, xhr => { throw new Error(xhr.statusText); })'

Challenge Seed

Solution

// solution required