सॉकेट कंप्यूटर नेटवर्क प्रोग्रामिंग की सबसे मौलिक तकनीकों में से एक है। सॉकेट नेटवर्क सॉफ़्टवेयर अनुप्रयोगों को नेटवर्क हार्डवेयर और ऑपरेटिंग सिस्टम में निर्मित मानक तंत्र का उपयोग करके संचार करने की अनुमति देते हैं।
हालांकि यह इंटरनेट सॉफ्टवेयर विकास की एक अन्य विशेषता की तरह लगता है, वेब से पहले सॉकेट तकनीक मौजूद थी। कई लोकप्रिय नेटवर्क सॉफ़्टवेयर एप्लिकेशन सॉकेट पर निर्भर करते हैं।
सॉकेट टेक्नोलॉजी आपके नेटवर्क के लिए क्या कर सकती है
एक सॉकेट सॉफ्टवेयर के ठीक दो टुकड़ों (एक पॉइंट-टू-पॉइंट कनेक्शन) के बीच एकल कनेक्शन का प्रतिनिधित्व करता है। सॉफ्टवेयर के दो से अधिक टुकड़े कई सॉकेट का उपयोग करके क्लाइंट/सर्वर या वितरित सिस्टम के साथ संचार कर सकते हैं। उदाहरण के लिए, कई वेब ब्राउज़र सर्वर पर बने सॉकेट के समूह का उपयोग करके एक ही वेब सर्वर से एक साथ संचार कर सकते हैं।
सॉकेट-आधारित सॉफ़्टवेयर आमतौर पर नेटवर्क पर दो अलग-अलग कंप्यूटरों पर चलता है, लेकिन सॉकेट का उपयोग एक कंप्यूटर पर स्थानीय रूप से (इंटरप्रोसेस) संचार करने के लिए भी किया जा सकता है। सॉकेट द्विदिश हैं, जिसका अर्थ है कि कनेक्शन के दोनों ओर डेटा भेजने और प्राप्त करने दोनों में सक्षम है।
कभी-कभी संचार शुरू करने वाले एप्लिकेशन को क्लाइंट कहा जाता है और दूसरा एप्लिकेशन सर्वर होता है, लेकिन यह शब्दावली पीयर-टू-पीयर नेटवर्किंग में भ्रम पैदा करती है और इसे आमतौर पर टाला जाना चाहिए।
सॉकेट API और लाइब्रेरी
कई पुस्तकालय जो मानक अनुप्रयोग प्रोग्रामिंग इंटरफेस (एपीआई) को लागू करते हैं, इंटरनेट पर मौजूद हैं। पहला मेनस्ट्रीम पैकेज, बर्कले सॉकेट लाइब्रेरी, UNIX सिस्टम पर व्यापक रूप से उपयोग में है।
Microsoft ऑपरेटिंग सिस्टम के लिए एक अन्य सामान्य API Windows सॉकेट (WinSock) लाइब्रेरी है। अन्य कंप्यूटर प्रौद्योगिकियों के सापेक्ष, सॉकेट एपीआई परिपक्व हैं। WinSock 1993 से और बर्कले सॉकेट 1982 से उपयोग में है।
सॉकेट एपीआई अपेक्षाकृत छोटे और सरल हैं। कई फ़ंक्शन फ़ाइल इनपुट/आउटपुट रूटीन में उपयोग किए जाने वाले कार्यों के समान हैं जैसे पढ़ें(), लिखें(), और close() . उपयोग करने के लिए वास्तविक फ़ंक्शन कॉल प्रोग्रामिंग भाषा और चुनी गई सॉकेट लाइब्रेरी पर निर्भर करता है।
सॉकेट इंटरफ़ेस प्रकार
सॉकेट इंटरफेस को तीन श्रेणियों में विभाजित किया जा सकता है:
- स्ट्रीम सॉकेट :यह सबसे आम प्रकार है। दो संचार पक्ष पहले एक सॉकेट कनेक्शन स्थापित करते हैं, जिसके बाद उस कनेक्शन से गुजरने वाला कोई भी डेटा उसी क्रम में आने की गारंटी देता है जिसमें इसे भेजा गया था (कनेक्शन-उन्मुख प्रोग्रामिंग मॉडल का उपयोग करके)।
- डेटाग्राम सॉकेट :कनेक्शन-रहित शब्दार्थ प्रदान करें। डेटाग्राम के साथ, कनेक्शन स्पष्ट होने के बजाय धाराओं के साथ निहित हैं। कोई भी पक्ष आवश्यकतानुसार डेटाग्राम भेजता है और दूसरे के जवाब की प्रतीक्षा करता है। संदेश प्रसारण में खो सकते हैं या क्रम से बाहर हो सकते हैं; एप्लिकेशन इन समस्याओं से संबंधित है, न कि सॉकेट से। डेटाग्राम सॉकेट को लागू करने से कुछ एप्लिकेशन स्ट्रीम सॉकेट के उपयोग की तुलना में प्रदर्शन को बढ़ावा और अतिरिक्त लचीलापन दे सकते हैं।
- कच्चे सॉकेट :टीसीपी और यूडीपी जैसे मानक प्रोटोकॉल के लिए पुस्तकालय के अंतर्निहित समर्थन को बायपास करें। कच्चे सॉकेट का उपयोग कस्टम निम्न-स्तरीय प्रोटोकॉल विकास के लिए किया जाता है।
नेटवर्क प्रोटोकॉल में सॉकेट सपोर्ट
आधुनिक नेटवर्क सॉकेट आमतौर पर आईपी, टीसीपी और यूडीपी इंटरनेट प्रोटोकॉल के संयोजन के साथ उपयोग किए जाते हैं। इंटरनेट प्रोटोकॉल के लिए सॉकेट लागू करने वाले पुस्तकालय स्ट्रीम के लिए टीसीपी, डेटाग्राम के लिए यूडीपी और कच्चे सॉकेट के लिए आईपी का उपयोग करते हैं।
इंटरनेट पर संचार करने के लिए, आईपी सॉकेट पुस्तकालय विशिष्ट कंप्यूटरों की पहचान करने के लिए आईपी पते का उपयोग करते हैं। इंटरनेट के कई हिस्से नामकरण सेवाओं के साथ काम करते हैं, ताकि उपयोगकर्ता और सॉकेट प्रोग्रामर पते के बजाय कंप्यूटर के साथ नाम से काम कर सकें (उदाहरण के लिए, thiscomputer.wireless.lifewire.com) (उदाहरण के लिए, 208.185.127.40)।पी>
स्ट्रीम और डेटाग्राम सॉकेट भी कई अनुप्रयोगों को एक दूसरे से अलग करने के लिए आईपी पोर्ट नंबर का उपयोग करते हैं। उदाहरण के लिए, इंटरनेट पर वेब ब्राउज़र वेब सर्वर के साथ सॉकेट संचार के लिए पोर्ट 80 को डिफ़ॉल्ट के रूप में उपयोग करना जानते हैं।