कम्प्यूटर नेटवर्किंग को लागि सकेट प्रोग्रामिंग को एक अवलोकन

एक गर्तिका कम्प्युटर नेटवर्क प्रोग्रामिंग को सबै भन्दा मुख्य प्रविधिहरु मध्ये एक हो। सञ्जाल नेटवर्क सफ्टवेयर अनुप्रयोगहरूलाई नेटवर्क हार्डवेयर र अपरेटिङ सिस्टमहरूमा निर्मित मानक तवरमा प्रयोग गरी संवाद गर्न अनुमति दिन्छ।

यद्यपि यो इन्टरनेट सफ्टवेयर विकासको अर्को सुविधा जस्तो आवाज हुन सक्छ, सकेट प्रविधि वेबको अघि लामो समय अवस्थित भयो। र, आजका धेरै लोकप्रिय नेटवर्क सफ्टवेयर अनुप्रयोगहरू स्याकेटहरूमा निर्भर हुन्छन्।

तपाईंको नेटवर्कको लागि के गर्न सक्दछ

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

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

सकेट API हरू र पुस्तकालयहरू

मानक अनुप्रयोग प्रोग्रामिङ इन्टरफेसहरू (APIs) लागू गर्ने धेरै पुस्तकालयहरू इन्टरनेटमा अवस्थित छन्। पहिलो मुख्यधारा प्याकेज - बर्कले सकेट लाइब्रेरी अझै पनि UNIX प्रणालीहरूमा प्रयोगमा व्यापक रूपमा छ। अर्को धेरै साधारण API माइक्रोसफ्ट अपरेटिङ सिस्टमका लागि विन्डोज सकेट (WinSock) लाइब्रेरी हो। अन्य कम्प्यूटर टेक्नोलॉजीजको सापेक्ष, गर्तिका एपीआईहरू परिपक्व हुन्छन्: WinSock 1 99 3 पछि सन् 1 99 7 र बर्कले एसकेटबाट 1 9 81 मा प्रयोग गरेको छ।

सकेट API हरू अपेक्षाकृत सानो र सरल छ। धेरै प्रकार्यहरू फाइल इनपुट / आउटपुट routines मा प्रयोग भएका जस्तै छन् जुन पढ्ने () , लेख्नुहोस् , र बन्द गर्नुहोस् () । वास्तविक प्रकार्यले प्रोग्रामिंग भाषामा निर्भर गर्दछ र चयन गरिएको सकेट पुस्तकालयमा निर्भर गर्दछ।

सकेट इन्टरफेस प्रकारहरू

सकेट इन्टरफेसहरू तीन कोटिमा विभाजित गर्न सकिन्छ:

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

सञ्जाल समर्थन नेटवर्क प्रोटोकॉलमा

आधुनिक सञ्जाल स्याकेटहरू सामान्यतया इन्टरनेट प्रोटोकॉलहरू-आईपी, टीसीपी र यूडीडीसँग संयोजनमा प्रयोग गरिन्छ। इन्टरनेट प्रोटोकलका लागि स्याकेटहरू लागू गर्ने पुस्तकालयहरूले स्ट्रीमहरूको लागि प्रयोग गर्दछ, डेटासेटका लागि UDP, र आईप आफैले कच्चा स्याकेटका लागि।

इन्टरनेटमा संचार गर्न, आईपी सकेट पुस्तकालयहरू विशिष्ट कम्प्युटर पहिचान गर्न आईपी ​​ठेगाना प्रयोग गर्दछ। इन्टरनेटका धेरै भागहरू नामकरण सेवाहरूसँग काम गर्छन्, त्यसैले प्रयोगकर्ता र सर्ट प्रोग्रामरहरूले कम्प्युटरद्वारा नाम ( उदाहरणका लागि , "thiscomputer.wireless.about.com") काम गर्न सक्दछ यसको सट्टा ठेगाना ( जस्तै , 208.185.127.40)। स्ट्रिम र डेटाट्याब स्याकेटहरू पनि आईपी पोर्ट संख्याहरू प्रयोग गर्दछ एकै ठाउँमा धेरै अनुप्रयोगहरू भेद गर्न। उदाहरणको लागि, इन्टरनेटमा वेब ब्राउजरले वेबसर्भरको साथ सर्टिफिकेट संचारको लागी पोर्ट 80 प्रयोग गर्न जान्दछ।