मैंने एक सर्वर लिखा है जो जावा एनआईओ एपीआई का उपयोग करके गैर-अवरुद्ध आईओ निष्पादित करता है। मुझे एक ऐसी स्थिति दिखाई दे रही है जिससे मौलिक रूप से क्लाइंट एप्लिकेशन अचानक बंद हो जाता है (उदा। बिजली की कमी के कारण) और सर्वर-साइड पर कनेक्शन खुला रहता है।एनआईओ - एक बंद कनेक्शन का पता लगाना
एक सहयोगी को एक ही समस्या का सामना करना पड़ा और कहा कि वह इस तरह की चीज़ों का पता लगाने के लिए लाइन पर दिल की धड़कन का उपयोग करता है, लेकिन मुझे उम्मीद है कि एक आसान तरीका है। किसी और ने इस समस्या का सामना किया है?
कुछ अतिरिक्त जानकारी: मेरा वर्तमान सर्वर डिज़ाइन एक कुंजी रद्द कर देगा और संबंधित चैनल को बंद कर देगा यदि इसे पढ़ने/लिखने के ऑपरेशन का प्रयास करते समय IOException
पकड़ता है। यह दृष्टिकोण 99% समय पर काम करता प्रतीत होता है; मैंने केवल कुछ हद तक परिस्थितियों को देखा है जहां कनेक्शन खुला रहता है।
धन्यवाद जेडजेड कोडर - यही मैंने सोचा (डर)। मैं बहुत आश्चर्यचकित हूं कि यह टीसीपी की विशेषता नहीं है। – Adamski
बल्कि "पिंग", ये अनुप्रयोग मानव नहीं हैं - आपको पता है। –