वायरलेस कनेक्शन पर सॉकेट कैसे काम करते हैं?


15

मैंने केवल एंड्रॉइड का उपयोग करके क्लाइंट साइड (विशेष रूप से, मोबाइल) अनुप्रयोगों पर काम किया है, जहां HttpUrlConnection जैसे घटकों को प्रदान करते हुए सभी नेटवर्किंग को HTTP परत पर नियंत्रित किया जाता है।

लेकिन मैसेजिंग सिस्टम जैसे कि वेबसोकेट्स / एक्सएमपीपी आदि, सभी सर्वर से लगातार जुड़ाव बनाए रखते हैं। यहां तक ​​कि Google की GCM, जो Google Play समर्थित उपकरणों में बेक की गई है, सर्वरों के लिए लगातार कनेक्शन बनाए रखती है।

मेरा सवाल यह है कि बिना बैटरी निकाले यह कैसे काम करता है? यदि हम क्रमिक रूप से निरंतर HTTP अनुरोध करते हैं, तो बैटरी नाली महत्वपूर्ण है। एक ही समस्या का सामना किए बिना इन निरंतर कनेक्शनों को कैसे बनाए रखा जाता है?


क्या आपका प्रश्न सॉकेट्स या वेबसोकेट के बारे में है? वे दो बहुत अलग चीजें हैं।
svick

@svick मेरा प्रश्न सॉकेट से संबंधित था।
विनय एस शेनॉय

जवाबों:


23

एक खुला टीसीपी कनेक्शन एक तार्किक स्थिति है। इसका मतलब यह नहीं है कि डेटा को हमेशा आगे और पीछे भेजा जा रहा है। प्रारंभिक तीन-तरफ़ा हैंडशेक के बाद आपने "कनेक्टेड" स्थिति में प्रवेश किया है। आप उस स्थिति में होते हैं जब तक कि 3-तरफ़ा डिस्कनेक्ट नहीं होता या एक जीवित-जीवित विफल रहता है।

कनेक्शन के जीवनकाल के दौरान, उस कनेक्शन के लिए डेटा के हस्तांतरण करने के लिए अंतर्निहित "भौतिक" माध्यम से संसाधन स्थापित किए जा सकते हैं। वायर्ड कनेक्शन के मामले में, यह इथरनेट फ्रेम को चारों ओर स्थानांतरित करने का मामला है। 3 जी / 4 जी वायरलेस कनेक्शन के मामले में, यह निचले स्तर के प्रोटोकॉल के साथ आवश्यकतानुसार कनेक्शन स्थापित करके किया जाता है।

तो कनेक्शन के जीवन के लिए, कोई भौतिक अंतर्निहित डेटा कनेक्शन मौजूद नहीं है। इसके बजाय यह डेटा भेजने के लिए टीसीपी कनेक्शन में सहकर्मी के इंतजार में निष्क्रिय रहता है।

एक और मुद्दा यह है कि टीसीपी है पावती आधारित। टीसीपी साथियों ने कुशलतापूर्वक एक दूसरे को इस बात से अवगत कराया कि क्या निश्चित रूप से राहत मिली है। असफल होने पर, टीसीपी पुनःप्रकाशित होगा। यह काफी विश्वसनीय भौतिक लिंक के लिए महान काम करता है, लेकिन आपके वायरलेस कनेक्शन की तरह बहुत शोर / टूटे हुए लिंक में गिर जाता है। जैसा कि आप कल्पना कर सकते हैं, इन वातावरणों में अकॉर्ड / रिट्रांसमिशन बहुत बार होता है।

तो आमतौर पर, अंतर्निहित वायरलेस प्रोटोकॉल टीसीपी रिट्रांसमिशन की आवश्यकता को कम करने के लिए सब कुछ करता है। उदाहरण के लिए, वायरलेस परत में निर्मित त्रुटि जाँच बहुत है। वायरलेस दायरे (बेस स्टेशन / फोन) में पीयरर्स दूसरे पक्ष को बताने के लिए एक नैक आधारित प्रोटोकॉल का भी उपयोग करते हैं जब उन्हें कुछ प्राप्त नहीं होता था। नाक आधारित होने से त्रुटियों की जाँच में ओवरहेड कम हो जाता है (हम सब कुछ ठीक मान लेते हैं जब तक कि दूसरा पक्ष इसके बारे में नहीं कहता)। इससे पहले पता त्रुटियों को भी मदद मिलती हैवे टीसीपी परत तक बबल करते हैं - इस प्रकार बहुत सारे टीसीपी थ्रैशिंग से बचने की कोशिश कर रहे हैं। इसके अलावा, यह वायरलेस साथियों के लिए किसी भी रिट्रांसमिशन के दायरे को कम करता है - फोन को पैकेट पर फिर से वायरलेस लिंक पर बेस स्टेशन के लिए इंटरनेट पर कहीं सर्वर से पूछने की आवश्यकता नहीं है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.