سؤال

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

اي حل؟ شكرا لك!

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

المحلول

تريد استخدام خطاف إيقاف التشغيل:

Runtime.getRuntime().addShutdownHook(theHookThread);

لذلك سيتم تشغيل الخيط عند إيقاف تشغيل JVM، انظر هنا للتفاصيل.

نصائح أخرى

إذا من خلال إغلاق التطبيق، تقصد نظام التشغيل يقتل عملية الخادم؟

في هذا الوضع، لا توجد طريقة للخادم لمعرفة أنها تقتل. سوف يسقط الاتصالات الحالية.

إذا قمت بتطبيق إغلاق، فإنك تقدم طريقة لشركة SYS لإغلاق الخادم يدويا (ربما عن طريق كتابة "إنهاء" في وحدة تحكم الخادم). ثم الحدث الختامي سيكون حدثا مخصصا، وسوف يتعين عليك رمز المستمعين وإخطارهم بالجميع يتم إيقاف تشغيل الخادم. في هذا السيناريو، من الممثل.

حاول إضافة المزيد من التفاصيل حول كيفية إنشاء الخادم الخاص بك أو كيف يعمل.

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