संगणक नेटवर्किंगसाठी सॉकेट प्रोग्रामिंगचा आढावा

सॉकेट कॉम्प्यूटर नेटवर्क प्रोग्रॅमिंगच्या सर्वात मूलभूत तंत्रज्ञानांपैकी एक आहे. सॉकेट नेटवर्क सॉफ्टवेअर ऍप्लिकेशनना नेटवर्क हार्डवेअर आणि ऑपरेटिंग सिस्टममध्ये तयार केलेल्या मानक यंत्रणा वापरून संप्रेषण करण्याची परवानगी देतात.

जरी इंटरनेट सॉफ़्टवेअर डेव्हलपमेंटच्या फक्त एका वैशिष्ट्यासारखे आवाज येत असला, तरीही सॉकेट टेक्नॉलॉजी वेबच्या आधी अस्तित्वात होती. आणि, आजच्या सर्वात लोकप्रिय नेटवर्क सॉफ्टवेअरचे अनुप्रयोग सॉकेट्सवर विसंबून आहेत.

आपल्या नेटवर्कसाठी कोणती सॉकेट करू शकता

सॉकेट सॉफ्टवेअरचे दोन तुकडे (एक तथाकथित बिंदू-ते-बिंदू कनेक्शन) दरम्यान एकच कनेक्शन दर्शविते. सॉफ्टवेअरच्या दोन तुकडे क्लायंट / सर्व्हर किंवा वितरित प्रणाली एकाधिक सॉकेटचा वापर करून संप्रेषण करू शकतात. उदाहरणार्थ, बर्याच वेब ब्राऊजर सर्व्हरवर तयार केलेल्या सॉकेट्सच्या एका गटाद्वारे एकाच वेब सर्व्हरसह एकाच वेळी संवाद साधू शकतात.

सॉकेट-आधारित सॉफ्टवेअर सामान्यतः नेटवर्कवर दोन वेगवेगळ्या कॉम्प्यूटरवर चालते, परंतु सॉकेट्स एका कॉम्प्यूटरवर स्थानिक ( इंटरप्रोसेस ) संप्रेषित करण्यासाठी देखील वापरल्या जाऊ शकतात. सॉकेट्स द्विदिश आहेत, म्हणजे कनेक्शनचे दोन्ही बाजू डेटा पाठविणे आणि प्राप्त करण्यास सक्षम आहेत. काहीवेळा संवादास प्रारंभ करणारा एक अनुप्रयोग म्हणजे "क्लायंट" आणि दुसरा अनुप्रयोग "सर्व्हर", परंतु या परिभाषामुळे पीअरमध्ये संभोगात जाण्यासाठी गोंधळ होतो आणि सामान्यत: टाळले पाहिजे.

सॉकेट एपीआय आणि ग्रंथालये

मानक अॅप्लिकेशन प्रोग्रामिंग इंटरफेसेस (एपीआय) लागू करणार्या अनेक लायब्ररी इंटरनेटवर अस्तित्वात आहेत. प्रथम मुख्य प्रवाहाचे पॅकेज - बर्कले सॉकेट लायब्ररी हे अद्याप UNIX प्रणाल्यांवर मोठ्या प्रमाणात वापर आहे. मायक्रोसॉफ्ट ऑपरेटिंग सिस्टम्ससाठी विंडोज सॉकेट्स (विनसॉक) लायब्ररीचे आणखी एक सामान्य API आहे. इतर संगणक तंत्रज्ञानास सापेक्ष, सॉकेट API बरेच प्रौढ आहेत: 1 99 3 पासून WinSock वापरात आहे आणि 1982 पासून बर्कले सॉकेट्स

सॉकेट API तुलनेने लहान आणि सोपे आहेत. अनेक फंक्शन्स फाईल इनपुट / आउटपुट रूटीन जसे की read () , लिहा () , आणि close () मध्ये वापरल्या जातात. . वापरण्याजोगी वास्तविक फंक्शन कॉल प्रोग्रामिंग भाषा आणि सॉकेट लायब्ररीवर अवलंबून असतात.

सॉकेट इंटरफेस प्रकार

सॉकेट इंटरफेस तीन भागांमध्ये विभाजित केले जाऊ शकतात.

  • प्रवाहास सॉकेट्स, सर्वात सामान्य प्रकारासाठी आवश्यक आहे की दोन संपर्कातील पक्ष प्रथम सॉकेट कनेक्शनची स्थापना करतात, ज्यानंतर त्या कनेक्शनवरून मिळालेल्या कोणत्याही डेटाची त्याच क्रमाने पोहोचण्याची हमी दिली जाईल ज्यामध्ये तो पाठविला होता - तथाकथित कनेक्शन-उन्मुख प्रोग्रामिंग मॉडेल
  • डेटाग्राम सॉकेट्स "कनेक्शन-कमी" अर्थसंकल्प देतात. डेटाग्रामसह, स्ट्रीम्ससह स्पष्ट असल्यापेक्षा कनेक्शन प्रत्यक्ष नसतात. एकतर पक्ष केवळ डेटाग्राम पाठवितो आणि इतरांना प्रतिसाद देण्याची प्रतीक्षा करतो; संदेश प्रसारणात गमावले जाऊ शकतात किंवा ऑर्डर प्राप्त होऊ शकतात, परंतु ही समस्या अशी आहे की या समस्यांचे निराकरण करण्यासाठी सॉकेट्स नाही. डेटाग्राम सॉकेट्स लागू करणे काही अनुप्रयोगांना कार्यप्रदर्शन वाढू शकते आणि स्टँड सॉकेट्सच्या तुलनेत अतिरिक्त लवचिकता प्रदान करू शकते, काही परिस्थितींमध्ये त्यांचा वापर योग्य करू शकते.
  • तिसरा प्रकार सॉकेट - कच्चा सॉकेट - लायब्ररीच्या बिल्ट-इन समर्थनास टीसीपी आणि यूडीपी सारख्या मानक प्रोटोकॉलसाठी बाजूला ठेवते. कच्च्या सॉकेटचा वापर सानुकूल लो-लेवल प्रोटोकॉल विकासासाठी होतो.

नेटवर्क प्रोटोकॉलमध्ये सॉकेट सपोर्ट

आधुनिक नेटवर्क सॉकेट्सचा वापर विशेषत: इंटरनेट प्रोटोकॉल - आयपी, टीसीपी, आणि यूडीपी यांच्यात केला जातो. इंटरनेट प्रोटोकॉलसाठी सॉकेट्स अंमलबजावणी करणारे लायब्ररी, सीआरपीपी, डेटाग्रामसाठी यूडीपी, आणि कच्च्या सॉकेट्सकरिता आयपी स्वतःसाठी वापरतात.

इंटरनेटवर संवाद साधण्यासाठी, आयपी सॉकेट लायब्ररी विशिष्ट संगणक ओळखण्यासाठी IP पत्ता वापरतात. इंटरनेटचे बरेच भाग नामकरण सेवेसह कार्य करतात, जेणेकरुन वापरकर्ते आणि सॉकेट प्रोग्रामर पत्त्यानुसार ( उदा . 208.185.127.40) नावाने संगणकांसह ( उदा . "Thiscomputer.wireless.about.com") संगणकांसह कार्य करु शकतात. प्रवाह आणि डेटाग्राम सॉकेट एकमेकांपासून बहुविध ऍप्लिकेशन वेगळे करण्यासाठी आयपी पोर्ट नंबरचा वापर करतात. उदाहरणार्थ, इंटरनेटवरील वेब ब्राऊजर पर्सनल 80 चा वापर वेब सर्व्हर्ससह सॉकेट संपर्कासाठी डिफॉल्ट म्हणून करतो.