मैं .NET में जीवित रहने की जांच करने का एक तरीका ढूंढ रहा हूं। परिदृश्य यूडीपी और टीसीपी दोनों के लिए है।.NET में जीवित सॉकेट जांच रखने का सबसे अच्छा तरीका क्या है?
वर्तमान में टीसीपी में जो मैं करता हूं वह यह है कि एक तरफ कनेक्ट होता है और जब कोई डेटा नहीं भेजता है तो यह हर एक्स सेकंड में जीवित रहता है।
मैं दूसरी तरफ डेटा की जांच करना चाहता हूं, और यदि कोई ईवेंट या तो बढ़ाने के लिए एक्स सेकंड में गैर प्राप्त नहीं हुआ है।
एक तरीका जिस तरह से मैंने करने की कोशिश की थी वह ब्लॉकिंग प्राप्त करता था और सॉकेट के रेसीवटाइमआउट को एक्स सेकंड में सेट करता था। लेकिन समस्या तब भी हुई जब टाइमआउट हुआ, सॉकेट की रिसीव एक सॉकेट एक्सेप्शन फेंक देगी और इस तरफ सॉकेट बंद हो जाएगा, क्या यह सही व्यवहार है? सॉकेट बंद होने के बजाए टाइमआउट के बाद बंद/मर क्यों जाता है?
डेटा और नींद होने पर एक चेक स्वीकार्य नहीं है (क्योंकि मैं सोने के दौरान डेटा प्राप्त करने पर लापरवाही कर सकता हूं)।
तो इस बारे में जाने का सबसे अच्छा तरीका क्या है, और दूसरी तरफ जिस तरीके से मैंने वर्णन किया है, वह क्यों विफल रहा है?
हाँ, अतुल्यकालिक संचालन उल्लेख करना भूल गया है, लेकिन मैं वास्तव में लगता है कि मेरे सवाल है किसी को भी RecieveTimeout साथ अनुभव है और यही कारण है कि यह ऊपर रास्ते में विफल रहता है (कारण तो मेरे कोड और भी आसान RecieveTimeout का उपयोग कर तो होगा। –