हाय मुझे अपना प्रश्न स्पष्ट करने दें। मेरे ऐप का उपयोग करने वाले दो लोग इंटरनेट से जुड़े हुए हैं। दोनों के पास एक दूसरे का आईपी है और वे एक-दूसरे के साथ चैट करना चाहते हैं (जैसे वाई! मैसेंजर)। मुझे लगता है कि मुझे इंडी घटकों का उपयोग करने की आवश्यकता है; सही? मुझे किस घटक का उपयोग करना चाहिए? अग्रिम धन्यवादमैं इंटरनेट पर दो डेल्फी अनुप्रयोगों के बीच डेटा कैसे ट्रांसलोड कर सकता हूं?
उत्तर
सामान्य रूप से, आप "क्लाइंट/सर्वर" प्रकार का एप्लिकेशन बनाना चाहते हैं। "इंडी क्लाइंट सर्वर उदाहरण" के लिए एक त्वरित Google खोज इस परिणाम सहित कई परिणामों को खींचती है: http://www.devarticles.com/c/a/Delphi-Kylix/A-Real-World-Client-Server-Application-in-Delphi/
असल में, जब आपके पास निजी आईपी पते के साथ फ़ायरवॉल और एनएटी होते हैं तो यह बहुत जटिल हो जाता है। आपको इस बात पर विचार करना होगा कि आपका आवेदन या तो इन प्रकार की तकनीकों के आसपास या कैसे होगा।
क्या आपने अभी तक Indy's website पर किसी भी जनसंख्या को देखा है?
आपको इंडी घटकों का उपयोग करने की आवश्यकता नहीं है, आपको बस नेटवर्क पर संचार को संभालने वाली किसी चीज की आवश्यकता है। कोई भी HTTP या सॉकेट नेटवर्क स्टैक करेगा। इंडी डेल्फी Win32 के लिए defacto मानक है।
नेटवर्क संचार करने के लिए, आपको मशीन ए पर श्रोता ऑब्जेक्ट या सेवा बनाने की आवश्यकता होगी और मशीन बी पर एक प्रेषक ऑब्जेक्ट को बी से ए संदेश भेजने के लिए बी से ए संदेश भेजने के लिए, आप करेंगे बिडरेक्शनल कॉमर्स करने के लिए कुल 4 ऑब्जेक्ट्स को रिवर्स पथ की आवश्यकता है। कुछ ऑब्जेक्ट रैपर आंतरिक रूप से इस विवरण को छुपाते हैं। मुझे यह याद नहीं है कि इंडी इसे छुपाता है या नहीं।
यदि आप अपनी मशीन के लिए मशीन संचार जैसे HTTP के लिए एक सामान्य टीसीपी/आईपी प्रोटोकॉल का उपयोग करते हैं तो यह संभवतः सबसे आसान होगा। इससे फ़ायरवॉल और प्रॉक्सी के माध्यम से आपके कनेक्शन प्राप्त करना आसान हो जाएगा जो मनमानी उपयोगकर्ताओं के बीच अक्सर मौजूद होते हैं। मशीन पर चल रहे किसी भी HTTP वेब सेवाओं के साथ विवाद से बचने के लिए, आपको आईपी पते के साथ एक कस्टम पोर्ट नंबर का उपयोग करना चाहिए: 1 9 2.168.1.10:12345, मानक HTTP वेब सर्वर पोर्ट 80 नहीं। यह आईएम का अधिकांश है ग्राहक करते हैं।
स्कॉट ने जो कहा, उसके समान, मुझे लगता है कि आपकी सबसे बड़ी समस्या उन्हें एक-दूसरे से बात कर रही है। घर पर मेरे कंप्यूटर राउटर से गुजरते हैं, जो इंटरनेट से सभी आने वाले कनेक्शन अनुरोधों (यानी दो कंप्यूटरों के बीच वार्तालाप शुरू करने के अनुरोध) को अवरुद्ध करता है। मेरे कंप्यूटर कनेक्शन अनुरोध भेज सकते हैं, और उस तरह से वार्तालाप शुरू कर सकते हैं, लेकिन जब तक आप राउटर (पोर्ट अग्रेषण) को संशोधित नहीं करते हैं, तो मेरे कंप्यूटर कनेक्शन अनुरोध प्राप्त नहीं कर सकते हैं।
आपको किसी सर्वर की आवश्यकता है जहां दोनों लोग कनेक्ट होंगे, जो बाद में संदेशों को रिले कर सकते हैं। वास्तव में मुश्किल होने के लिए, सर्वर के साथ कनेक्शन बनने के बाद दो कंप्यूटरों को सीधे संपर्क में रखा जा सकता है, लेकिन इसमें यूडीपी पैकेट और कुछ चालाक जादू शामिल है। वास्तविकता की खुराक के लिए
+1। लेकिन अगर आप सबसे अच्छे जवाब के लिए मतदान करना चाहते हैं तो आपको वास्तव में थार जादू को एनएटी और राउंटिंग के रूप में समझा जाना चाहिए ... – PSyLoCKe
- 1. दो अनुप्रयोगों के बीच डेटा साझाकरण
- 2. मैं दो कंप्यूटरों के बीच तार कैसे भेज सकता हूं?
- 3. मैं सॉकेट का उपयोग कर इंटरनेट पर डेटा कैसे भेज सकता हूं?
- 4. क्या मैं इंटरनेट एक्सप्लोरर के लिए एक अलग डेटा निर्देशिका सेट कर सकता हूं?
- 5. मैं दो तारों के बीच एक अंतर की गणना कैसे कर सकता हूं?
- 6. एक ही सर्वर पर दो PHP अनुप्रयोगों के बीच संचार?
- 7. मैं सभी इंटरनेट अनुरोधों की निगरानी कैसे कर सकता हूं?
- 8. आईफोन अनुप्रयोगों के बीच कस्टम डेटा कैसे साझा करें?
- 9. मैं दो जावास्क्रिप्ट ऑब्जेक्ट ग्राफ़ के बीच अंतरों की सूची कैसे प्राप्त कर सकता हूं?
- 10. मैं दो अन्य मैट्रिक्स के बीच पंक्तियों द्वारा मैट्रिक्स को विभाजित/विभाजित कैसे कर सकता हूं?
- 11. दो अनुप्रयोगों के बीच एंड्रॉइड संचार
- 12. मैं फ्लोट में दो लाइनों के बीच एक क्षेत्र कैसे छाया कर सकता हूं?
- 13. मैं दो बड़े डेटासेट के बीच अंतर कैसे निर्धारित कर सकता हूं?
- 14. इंडेक्स का लाभ उठाने के दौरान मैं दो कॉलम के बीच कैसे क्वेरी कर सकता हूं?
- 15. उसी सिस्टम पर दो अनुप्रयोगों के बीच डेटा पास करने का पसंदीदा तरीका क्या है?
- 16. पायथन में, मैं डेटा के दो सरणी के बीच सहसंबंध और सांख्यिकीय महत्व की गणना कैसे कर सकता हूं?
- 17. मैं लिनक्स में दो सॉकेट "इंटरकनेक्ट" कैसे कर सकता हूं?
- 18. मैं डेल्फी घटक पैलेट से पूछताछ कैसे कर सकता हूं?
- 19. मैं एक ही आईओएस डिवाइस पर दो ऐप्स के बीच एक दस्तावेज़ कैसे स्थानांतरित कर सकता हूं?
- 20. मैं QTableWidget पर डेटा कैसे दिखा सकता हूं और हेडर के साथ डेटा पढ़ सकता हूं?
- 21. मैं दो पीएनजी छवियों के बीच यूआईबटन कैसे एनिमेट कर सकता हूं?
- 22. मैं दो दृश्य सी ++ परियोजनाओं के बीच एक ही उत्पाद संस्करण कैसे साझा कर सकता हूं?
- 23. मैं जावा में दो जीपीएस अंकों के बीच की दूरी की गणना कैसे कर सकता हूं?
- 24. मैं आरआरडीटोल के साथ डेटा कैसे अपडेट कर सकता हूं?
- 25. डेल्फी: क्या मैं numpad की एंटर कुंजी और कैरिज रिटर्न के बीच अंतर कर सकता हूं?
- 26. दो पायथन अनुप्रयोगों के बीच डेटा का आदान-प्रदान कैसे करें?
- 27. मैं न्यूमेरिक फ़ील्ड पर संख्यात्मक डेटा के बीच 'क्वेरी' कैसे पूछ सकता हूं?
- 28. मैं 2 MySQL डेटाबेस के बीच डेटा कैसे स्थानांतरित कर सकता हूं?
- 29. मैं ऑडियो डेटा कैसे देख सकता हूं?
- 30. दो आईफोन ऐप्स के बीच डेटा शेयर
+1। फायरवॉल, प्रॉक्सी, एनएटी। –
यदि दोनों कार्यक्रम सीधे उपयोगकर्ताओं द्वारा नियंत्रित किए जा रहे हैं, तो एक-दूसरे के आईपी रखें और एक-दूसरे से समान रूप से बात करना चाहते हैं, यह क्लाइंट/सर्वर नहीं है; वह सहकर्मी-सहकर्मी है, और इसे काम करने की तकनीकें अलग-अलग हैं। जादू के लिए –