2011-06-18 15 views
7

मैं एक छोटे, नेटवर्क वाले गेम प्रोटोटाइप पर काम कर रहा हूं जो यूडीपी का उपयोग कर लैन पर खेला जाएगा। नेटवर्क पर अन्य कंप्यूटरों की खोज के लिए, मैं प्रसारण की जांच कर रहा हूं। हालांकि, मैं अभी भी यूडीपी सॉकेट सेटअप/उपयोग (नेटवर्किंग नौसिखिया) के संबंध में कुछ विवरणों के बारे में अनिश्चित हूं। गेम शुरू होने के बाद मुझे उपयोग करने के लिए एक अच्छी लाइब्रेरी मिली, लेकिन सबसे पहले, गेम चलाने वाले सभी कंप्यूटरों की खोज की जानी चाहिए और किसी को सर्वर के रूप में चुना जाना चाहिए। तो मेरे प्रश्न निम्न हैं:लैन कंप्यूटर डिस्कवरी और सर्वर सेटअप के लिए यूडीपी प्रसारण

  • क्या एक एकल यूडीपी सॉकेट का उपयोग प्रसारण और सुनने के लिए किया जा सकता है? मुझे पूरा यकीन है कि इसका उत्तर हाँ है, लेकिन मैं इसे सत्यापित करना चाहता था।
  • यूडीपी का उपयोग करते समय, क्या आपको वास्तव में bind() का उपयोग करना होगा? जहां तक ​​मैं समझता हूं, connect() आवश्यक नहीं है, न ही send()/recv() है, क्योंकि वे टीसीपी (sendto()/recvfrom() प्रतिस्थापन के लिए हैं) के लिए हैं।
+0

यह एक अच्छी तरह से विचार किया गया सवाल है, लेकिन इसमें कई प्रश्न हैं और शायद बेहतर प्रश्नों के रूप में बेहतर सेवा दी जाएगी। –

+0

@ 0 ए0 डी अच्छा बिंदु, मुझे यकीन नहीं था कि मुझे इसे विभाजित करना चाहिए क्योंकि वे कुछ हद तक संबंधित थे। मैं यूडीपी को एक साथ छोड़ दूंगा और पिछले दो अलग प्रश्नों के रूप में बाहर खींचूंगा। – Gemini14

उत्तर

4
  1. हाँ, आप, प्रसारण भेज सभी एक ही सॉकेट से unicasts भेजने और प्राप्त पैकेट (या तो प्रसारण या यूनिकास्ट) कर सकते हैं। यह "प्रेषक को जवाब" बनाने के लिए बहुत उपयोगी है।

  2. प्रत्येक सॉकेट को बांधने की आवश्यकता नहीं है। यदि आप नहीं करते हैं, तो आपके लिए एक पोर्ट स्वचालित रूप से चुना जाएगा। लेकिन किसी को पहले पैकेट (संभवतः एक प्रसारण) को ठीक से वितरित करने के लिए किसी पूर्व-साझा पोर्ट नंबर को बांधना होगा। पहले पैकेट में स्रोत पोर्ट और आईपी पता शामिल है; उत्तर पैकेट बस इसका उपयोग कर सकते हैं।

  3. निश्चित पोर्ट संख्याओं के लिए दोनों सिरों को बाध्य करना फ़ायरवॉल कॉन्फ़िगरेशन को सरल बनाता है।

  4. setsockopt(SO_BROADCAST), अन्यथा आपको प्रसारण पैकेट भेजने की कोशिश करने में त्रुटियां मिलेंगी।

+0

बहुत स्पष्ट उत्तर, विशेष रूप से बाइंडिंग के बारे में थोड़ा - यह अब मेरे लिए बहुत अधिक समझ में आता है। धन्यवाद! – Gemini14

संबंधित मुद्दे