2010-07-08 6 views
6

का उपयोग कर लैन गेम सर्वर स्कैनिंग मैं अपने गेम को लैन-प्लेबल गेम में बदलने में सक्षम होने के लिए winsockets का उपयोग करने का तरीका जानने का प्रयास कर रहा हूं। मैंने कुछ winsockets दस्तावेज पढ़ा है, लेकिन मैं यह नहीं समझ सकता कि क्लाइंट लैन पर बनाए गए सभी गेम कैसे प्राप्त कर सकता है।winsock

क्या इसे LAN पर प्रत्येक आईपी को 'कनेक्ट' करने का प्रयास करना है, जैसे 192.168.0.1, फिर 192.168.0.2, आदि से कनेक्ट करने का प्रयास करना? क्या कोई बेहतर तरीका है?

+0

देखें http://en.wikipedia.org/wiki/Broadcast_address –

उत्तर

3

आप लैन पर अपने सर्वर का विज्ञापन करने के लिए प्रसारण का उपयोग करेंगे। ग्राहक इन प्रसारणों को 'ढूंढ' सर्वर पर सुन सकते हैं।

अधिक जानकारी के लिए यहाँ देखें: http://tangentsoft.net/wskfaq/intermediate.html#broadcast

2

आमतौर पर इन खेल सर्वर स्थानीय यूडीपी प्रसारण, जो कुछ है कि सभी ग्राहकों को प्राप्त करते हैं और इतने लंबे समय संसाधित कर सकते हैं के रूप में वे सुन रहे हैं है का उपयोग करें। http://visual-c.itags.org/visual-c-c++/29424/

0

पहले, मेरा सुझाव है कि आप किसी भी नेटवर्किंग विकास के लिए wireshark मिलती है:

कुछ नमूने यहां क्लाइंट और सर्वर कोड मैंने पाया कि आप करने के लिए रुचि का हो सकता है। यह आपको दिखाएगा कि तार के माध्यम से कौन सा पैकेट चला जाता है। यह आपको यह देखने की अनुमति देगा कि अन्य गेम कैसे करते हैं क्योंकि ऐसा करने के कई तरीके हैं।

यूडीपी प्रसारण का उपयोग करना इसे करने का एक तरीका है। बस लक्ष्य आईपी के अंतिम बाइट को 255 पर बदलें और आपको ठीक होना चाहिए।

+4

अंतिम बाइट को अंधेरे से बदलना हमेशा काम नहीं करेगा। यह नेटवर्क पर इस्तेमाल होने वाले वास्तविक सबनेट मास्क पर निर्भर करता है। प्रसारण पता उत्पन्न करने का सही तरीका स्थानीय कंप्यूटर के आईपी, और 'इसे सबनेट मास्क के साथ ले जाना है, फिर' या 'यह सबनेट मास्क के विपरीत के साथ है। वैकल्पिक रूप से, केवल वैश्विक प्रसारण पता 255.255.255.255 का उपयोग करें, लेकिन सभी फ़ायरवॉल/राउटर इसे पारित करने की अनुमति नहीं देंगे। –

2

मुझे लगता है कि ऐसा करने के दो संभावित तरीके हैं।

  1. एक "लॉबी" बनाएं जो क्लाइंट और सर्वर कनेक्ट हो ताकि वे एक-दूसरे को ढूंढ सकें।

  2. सर्वर यूडीपी पैकेट प्रसारित करते हैं। ग्राहक सर्वर की एक सूची सुनते हैं और अपडेट करते हैं।

आप एक त्वरित और आसान तरीका की जरूरत है, 2 विकल्प महान लेकिन याद यूडीपी पैकेट के अधिकांश के रूप में वे केवल एक बार प्रत्येक ग्राहक के लिए उपयोग किया जाता है समय व्यर्थ हो जाती होगी।

पहला विकल्प इस समस्या के लिए अधिक सामान्य और विस्तारित समाधान है। हालांकि, इसे डिजाइन और कार्यान्वित करने के लिए और अधिक समय की आवश्यकता हो सकती है।

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