2011-02-07 16 views
14

मुझे एक विश्वविद्यालय प्रोजेक्ट मिला है जहां मुझे फ़ाइल साझा करने के लिए जावा में सहकर्मी प्रणाली के लिए एक सहकर्मी विकसित करने की आवश्यकता है।जावा में पीयर टू पीयर एप्लिकेशन का विकास

तो सार में कई उपयोगकर्ताओं सहकर्मी का उपयोग कर सहकर्मी के लिए सिस्टम फ़ाइलों को साझा करने में सक्षम होना चाहिए।

क्या कोई मुझे इस प्रणाली को बनाने के बारे में कुछ दिशानिर्देश दे सकता है ??

+3

मेरा सुझाव है कि आप पीयर फ़ाइल साझा करने के लिए सहकर्मी के कई खुले स्रोत कार्यान्वयनों में से एक देखें और इन्हें टेम्पलेट के रूप में उपयोग करें (या केवल उन्हें उपयोग करें) –

उत्तर

15

विश्वविद्यालय परियोजना के लिए सॉकेट के बारे में कुछ ट्यूटोरियल पढ़ें। मेरा मानना ​​है कि यही वह प्रोफेसर है जो आपसे उम्मीद कर रहा है। उदाहरण के लिए ले लो निम्नलिखित: http://www.oracle.com/technetwork/java/socket-140484.html

2 सामान्य समाधान कर रहे हैं: सर्वर-भरा और सर्वर-कम। सर्वर आधारित समाधानों के मामले में आपके सभी क्लाइंट सर्वर के आईपी पते से पहले से कॉन्फ़िगर किए जाने चाहिए। सर्वर सर्वर सॉकेट खोलता है और सुनना शुरू करता है। इसलिए, प्रत्येक क्लाइंट सर्वर और रजिस्टरों से जुड़ता है। पंजीकरण बहुत आसान है: सर्वर को केवल ग्राहक के आईपी की आवश्यकता है। अब सर्वर जुड़े ग्राहकों की एक सूची रखता है और प्रत्येक ग्राहक को सूची भेजता है। Peer2peer ऐप बनाने के लिए प्रत्येक क्लाइंट सर्वर सॉकेट भी खोलता है। जब क्लाइंट ए क्लाइंट बी से कनेक्ट करना चाहता है तो यह सिर्फ अपनी सॉकेट से जुड़ता है।

आप सर्वर-कम समाधान को कार्यान्वित कर सकते हैं। इस मामले में आपको प्रसारण पर उदाहरण के लिए कुछ खोज तंत्र की आवश्यकता है।

मुझे आशा है कि इस मदद करता है। सौभाग्य।

+0

क्लाइंट के बारे में जो सर्वर को नहीं जानता आईपी ​​पता? चूंकि (सभी डिवाइस) वे अभी तक किसी भी नेटवर्क में जुड़े नहीं हैं? मैं उनके लिए वाईफाई संचार का प्रस्ताव दे रहा हूं। लेकिन क्या यह संभव होगा? – gumuruh

+0

वाईफ़ाई टीसीपी/आईपी दुनिया से कनेक्ट करने का एक तरीका है। यदि ग्राहक सर्वर के आईपी को नहीं जानता है तो आपको किसी प्रकार की खोज तंत्र की आवश्यकता है। उदाहरण के लिए ब्रॉडकास्ट। लेकिन यह केवल बंद नेटवर्क में संभव है। – AlexR

+0

इसका मतलब यह है कि दो एंड्रॉइड उपकरणों के लिए वाईफ़ाई पर संवाद करना असंभव है जो पहले से ही अपने वाईफ़ाई (लेकिन किसी भी नेटवर्क से कनेक्ट नहीं) चालू कर रहा है-कोई इंटरनेट नहीं, ब्लूटूथ नहीं, कोई फ़ोनसेल डेटा नहीं है? हालांकि मैं जावा/एंड्रॉइड वाईफ़ाई पर अपनी सरल स्ट्रिंग प्रसारित कर सकता था? @AlexR – gumuruh

2

आप JXTA को देखना चाहते हैं। साइट jxse.kenai.com पर ले जाया गया है। व्यावहारिक JXTA II पुस्तक को स्क्रिबड पर पढ़ने के लिए उपलब्ध कराया गया है।

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