1) সকেটের সংযোগ এবং পাঠের সময়সীমার মধ্যে পার্থক্য কী?
সংযোগের সময়সীমাটি প্রাথমিক সংযোগ তৈরির সময়সীমা; অর্থাত্ টিসিপি সংযোগ হ্যান্ডশেক সম্পূর্ণ completing পড়ার সময়সীমা হ'ল ডেটা 1 পড়ার অপেক্ষার সময়সীমা । বিশেষত, যদি সার্ভারটি শেষ বাইটের পরে <টাইমআউট> সেকেন্ড পরে কোনও বাইট প্রেরণ করতে ব্যর্থ হয় তবে একটি পঠনের সময়সীমা ত্রুটি উত্থাপিত হবে।
2) সংযোগের সময়সীমা "অনন্ত" সেট করার অর্থ কী? কোন পরিস্থিতিতে এটি কোনও অনন্য লুপে থাকতে পারে? এবং অনন্ত-লুপটি মারা যায় এমন কী ট্রিগার করতে পারে?
এর অর্থ এই যে সংযোগের প্রচেষ্টাটি সম্ভবত চিরতরে ব্লক করতে পারে। কোনও অসীম লুপ নেই, তবে সংযোগের প্রচেষ্টা সকেট বন্ধ করে অন্য থ্রেড দ্বারা অবরোধ মুক্ত করা যেতে পারে। (একটি Thread.interrupt()
কলও কৌশলটি করতে পারে ... নিশ্চিত নয়))
3) "অনন্ত" সেট করার পাঠ্য টাইমআউট বলতে কী বোঝায়? কোন পরিস্থিতিতে এটি অসীম লুপে থাকতে পারে? কি অসীম লুপ শেষ করতে ট্রিগার করতে পারে?
এর অর্থ read
সকেট স্ট্রিমে কল চিরকালের জন্য অবরুদ্ধ হতে পারে। আবার কোন অসীম লুপ, কিন্তু read
একটি দ্বারা অবরুদ্ধ থাকা হতে পারে Thread.interrupt()
কল, সকেট বন্ধ, এবং (অবশ্যই) অন্য প্রান্তে ডেটা প্রেরণ বা সংযোগ বন্ধ।
1 - এটি নয় ... একজন কমেন্টার মনে করেছিল ... সকেট কতক্ষণ উন্মুক্ত বা নিষ্ক্রিয় থাকতে পারে তার টাইমআউট।
HttpURLConnection.getResponseCode()
অ্যাপ্রিক্সের জন্য ঝুলছিল। আমরা প্রক্রিয়াটি আরম্ভ না করা পর্যন্ত এক সপ্তাহ। জেভিএম সাইডে স্পষ্টতই কোনও টাইমআউট সেট হয়নি এবং লিনাক্স ওএসের পাশের সময়সীমাও ছিল না।