এটা লুপে SOCKS উত্তৰৰ আঠটা বাইট বিচাৰে। ই তিনিাটা পাইছে। পৰৱৰ্তী পঢ়াটোৱে b'' ঘূৰাই দিয়ে, লুপে তাক যোগ কৰে, দৈৰ্ঘ্য পৰীক্ষা কৰে, আৰু চিৰকাল পুনৰ চেষ্টা কৰে।

এইটো EOF পৰিচালনাৰ ভুল, দীৰ্ঘ টাইমআউট বিচৰা লেহেমীয়া প্ৰক্সি নহয়। সাধাৰণ ষ্ট্ৰিম-ছকেট গ্ৰহণত, এটা খালী বাইট ষ্ট্ৰিং মানে সমকক্ষই সংযোগ বিচ্ছিন্ন কৰিছে। বাকী পাঁচটা বাইট সেই সংযোগত নাহিব।

সঠিক-পঢ়াৰ সহায়ক এটাত তিনিটা সুকীয়া ফলাফল লাগে: খালী নোহোৱা খণ্ড জমা কৰা, প্ৰয়োজনীয় দৈৰ্ঘ্যৰ আগতে EOFত বিফল হোৱা, আৰু টাইমআউট বা অন্য ছকেট ত্ৰুটি প্ৰেৰণ কৰা। সেইবোৰ এটা সাধাৰণ পুনৰ্চেষ্টা লুপত একত্ৰিত নহ'ব লাগে।

কাৰ্য্যৰ আগতে ছকেটৰ অভিপ্ৰেত টাইমআউট ছেট কৰক, আৰু প্ৰক্সি প্ৰটোকলে নিৰ্দিষ্ট কৰা ক্ষেত্ৰৰ দৈৰ্ঘ্য পঢ়ক। এটা গ্ৰহণে উত্তৰৰ এটা অংশহে ঘূৰাই দিব পাৰে। ইয়াৰ বিপৰীতে, ডাঙৰ স্থিৰ বাফাৰ বিচৰাৰ দ্বাৰা প্ৰতিটো SOCKS ঠিকনাৰ সেই দৈৰ্ঘ্য নহয়।

পুৰণি MSG_WAITALL স্নিপেট ইয়াৰ উৎসত লগাই EOF, সংকেত আৰু প্লেটফৰ্ম আচৰণ সামৰি লয় বুলি ধৰি নিৰ্ভৰশীলতা ঠিক নকৰিব। ৰক্ষণাবেক্ষণ কৰা বাস্তৱায়নৰ সমৰ্থিত সমাধান বাছনি কৰক, বা পাৰ্চাৰ আপোনাৰ ক'ড হ'লে সহায়কৰ চুক্তি ইচ্ছাকৃতভাৱে ৰূপায়ণ কৰক।

কিমান বাইট আশা কৰা আৰু পোৱা হৈছিল সেয়া ৰাখক, প্ৰমাণপত্ৰৰ পেলোড লগ নকৰাকৈ। “আঠটা উত্তৰ বাইটৰ তিনিাটাৰ পিছত EOF” এ ভঙা বিনিময় “প্ৰক্সি পুনৰ ওলমি আছে”তকৈ বহুত ভালদৰে ব্যাখ্যা কৰে।

সম্পৰ্কিত প্ৰবন্ধ