سؤال

لدي تطبيق يستخدم httplistener، أحتاج إلى معرفة متى يتم قطع اتصال العميل، في الوقت الحالي لدي كل التعليمات البرمجية داخل كتلة TRY / CATCK التي هي قبيحة للغاية وليس ممارسات جيدة.

كيف يمكنني معرفة ما إذا كان عميل غير متصل؟

شكرا!

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

المحلول

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

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