java - What is the difference between connection and read timeout for sockets? -


3 प्रश्न:

  1. कनेक्शन < / Strong> और पढ़ा सॉकेट्स के लिए समयबाह्य?

  2. क्या कनेक्शन टाइमआउट को "अनंत" पर सेट किया गया है? क्या स्थिति एक अनन्त लूप में रह सकती है? और अनन्तता-लूप मरने के कारण क्या हो सकता है?

  3. क्या पढ़ा टाइमआउट को "अनंत" पर सेट किया गया है? क्या स्थिति एक अनन्त लूप में रह सकती है? और क्या अनन्तता-लूप मर सकता है?

<पी > 1) कनेक्शन के बीच अंतर क्या है और कुर्सियों के लिए समय-समय पढ़ने के लिए?

कनेक्शन टाइमआउट प्रारंभिक कनेक्शन बनाने में समय समाप्ति है; अर्थात टीसीपी कनेक्शन हैंडशेक पूरा करना पढ़ने की समय-सीमा डेटा पढ़ने के इंतजार में समय-सीमा है। विशेष रूप से, यदि सर्वर पिछले बाइट के बाद एक बाइट & lt; timeout> सेकंड भेजने में विफल रहता है, तो एक रीड टाइम आउट त्रुटि उठाई जाएगी।

2) कनेक्शन का समय समाप्त "अनंत" ? क्या स्थिति एक अनन्त लूप में रह सकती है? और क्या अनन्तता-लूप मर जाती है?

इसका मतलब है कि कनेक्शन का प्रयास संभावित रूप से कभी भी ब्लॉक कर सकता है कोई अनन्त लूप नहीं है, लेकिन कनेक्ट करने का प्रयास दूसरे सॉकेट के द्वारा गड़बड़ी को बंद कर दिया जा सकता है। (एक Thread.interrupt () कॉल भी चाल कर सकता है ... सुनिश्चित नहीं है।)

3) टाइमआउट को "अनन्तता" का मतलब क्या है? क्या स्थिति एक अनन्त लूप में रह सकती है? और क्या अनन्तता-लूप मर सकता है?

इसका अर्थ है कि सॉकेट स्ट्रीम पर पढ़ने को कॉल हमेशा के लिए अवरुद्ध हो सकती है एक बार फिर कोई अनंत लूप नहीं है, लेकिन पढ़ा को Thread.interrupt () कॉल द्वारा बंद किया जा सकता है, गर्तिका को बंद करना, और (निश्चित रूप से) अन्य अंत भेजने से डेटा या कनेक्शन बंद।


Comments