2011-09-19 19 views
8

क्या है पोर्ट का "सुनना" का अर्थ उस बंदरगाह या एक अलग मतदान या एक बाधित चालित प्रक्रिया के लिए निरंतर मतदान है। "पोर्ट को सुनना" में क्या चल रहा है?पोर्ट सुनना

+0

यह प्रोग्रामर.स्टैक एक्सचेंज [कैसे-एक-पोर्ट-लिस्टेंस-पुल-या-पुश] गहराई में वर्णन करता है। [1]: http://programmers.stackexchange.com/q/107545/36957 – Dinushan

+0

जवाब बहुत कम स्तर तंत्र, का वर्णन है, के * टीसीपी/यूडीपी *, * बंदरगाहों * और यहां तक ​​कि * सुन * विचार नीचे यह किसी भी नेटवर्क डेटा रिसेप्शन के लिए सच है। – Kevin

उत्तर

7

एक बंदरगाहएक अवधारणा से ज्यादा कुछ नहीं है, यह अगर आप कुछ स्मृति बिट्स की जांच कर सकता है, कुछ जानकारी के लिए प्रतीक्षा की तरह नहीं है।

तो, एक बंदरगाह के लिए सुन गिरी क्या इस विशिष्ट पोर्ट संख्या साथ पैकेट प्राप्त होने पर क्या करना सिखा देगा: बजाय जवाब देने की प्रक्रिया के लिए यह संचारित जो कि पोर्ट पर सुनने के लिए कहा [या नहीं] कि बंदरगाह खुला नहीं है।

एनबी: यह सिर्फ अटकलें हैं, मैंने किसी भी कर्नेल कार्यान्वयन की जांच नहीं की है।

संपादित करें: प्रक्रिया तरफ,

  • listen (कर्नेल कि आप किसी विशेष Rendez-Vous बंदरगाह
  • में रुचि रखते हैं बता देंगे मुझे यकीन है कि क्या के बीच होता नहीं कर रहा हूँ listen और accept, या तो कर्नेल नए कनेक्शन को बफर करता है या accept तक उन्हें अस्वीकार कर देता है, कृपया प्रासंगिक मैनुअल देखें)
  • accept एक संचार पोर्ट के लिए कनेक्शन के लिए बाध्य होगा, और आने वाले पैकेट
  • बफरिंग शुरू
  • recv (या poll या select निश्चित रूप से) होगा स्वागत बफर
+0

का अर्थ है कि इस पैकेट को प्राप्त होने पर कर्नेल प्रक्रिया को बाधित करेगा (सूचित करें)। – Dinushan

5

गिरी भेजे से गंतव्य बंदरगाह के अर्क से पिक डेटा आईपी-पैकेट और उसके बाद सभी रिसीवरों को पैकेट आगे बढ़ाया जाता है, जो इस विशिष्ट बंदरगाह के लिए पंजीकृत होते हैं (हाँ, कई हो सकते हैं)। एक उपयोगकर्ता प्रक्रिया सामान्य रूप से किसी ईवेंट की प्रतीक्षा करने के लिए चयन (2) या मतदान (2) का उपयोग करती है, लेकिन यह मतदान परंपरागत मतदान से अलग है जैसे "पढ़ा गया I/O पोर्ट; 500 एमएस देरी"।