2010-11-30 13 views
5

हाय मुझे अपना प्रश्न स्पष्ट करने दें। मेरे ऐप का उपयोग करने वाले दो लोग इंटरनेट से जुड़े हुए हैं। दोनों के पास एक दूसरे का आईपी है और वे एक-दूसरे के साथ चैट करना चाहते हैं (जैसे वाई! मैसेंजर)। मुझे लगता है कि मुझे इंडी घटकों का उपयोग करने की आवश्यकता है; सही? मुझे किस घटक का उपयोग करना चाहिए? अग्रिम धन्यवादमैं इंटरनेट पर दो डेल्फी अनुप्रयोगों के बीच डेटा कैसे ट्रांसलोड कर सकता हूं?

उत्तर

3

सामान्य रूप से, आप "क्लाइंट/सर्वर" प्रकार का एप्लिकेशन बनाना चाहते हैं। "इंडी क्लाइंट सर्वर उदाहरण" के लिए एक त्वरित Google खोज इस परिणाम सहित कई परिणामों को खींचती है: http://www.devarticles.com/c/a/Delphi-Kylix/A-Real-World-Client-Server-Application-in-Delphi/

असल में, जब आपके पास निजी आईपी पते के साथ फ़ायरवॉल और एनएटी होते हैं तो यह बहुत जटिल हो जाता है। आपको इस बात पर विचार करना होगा कि आपका आवेदन या तो इन प्रकार की तकनीकों के आसपास या कैसे होगा।

+0

+1। फायरवॉल, प्रॉक्सी, एनएटी। –

+1

यदि दोनों कार्यक्रम सीधे उपयोगकर्ताओं द्वारा नियंत्रित किए जा रहे हैं, तो एक-दूसरे के आईपी रखें और एक-दूसरे से समान रूप से बात करना चाहते हैं, यह क्लाइंट/सर्वर नहीं है; वह सहकर्मी-सहकर्मी है, और इसे काम करने की तकनीकें अलग-अलग हैं। जादू के लिए –

4

क्या आपने अभी तक Indy's website पर किसी भी जनसंख्या को देखा है?

2

आपको इंडी घटकों का उपयोग करने की आवश्यकता नहीं है, आपको बस नेटवर्क पर संचार को संभालने वाली किसी चीज की आवश्यकता है। कोई भी HTTP या सॉकेट नेटवर्क स्टैक करेगा। इंडी डेल्फी Win32 के लिए defacto मानक है।

नेटवर्क संचार करने के लिए, आपको मशीन ए पर श्रोता ऑब्जेक्ट या सेवा बनाने की आवश्यकता होगी और मशीन बी पर एक प्रेषक ऑब्जेक्ट को बी से ए संदेश भेजने के लिए बी से ए संदेश भेजने के लिए, आप करेंगे बिडरेक्शनल कॉमर्स करने के लिए कुल 4 ऑब्जेक्ट्स को रिवर्स पथ की आवश्यकता है। कुछ ऑब्जेक्ट रैपर आंतरिक रूप से इस विवरण को छुपाते हैं। मुझे यह याद नहीं है कि इंडी इसे छुपाता है या नहीं।

यदि आप अपनी मशीन के लिए मशीन संचार जैसे HTTP के लिए एक सामान्य टीसीपी/आईपी प्रोटोकॉल का उपयोग करते हैं तो यह संभवतः सबसे आसान होगा। इससे फ़ायरवॉल और प्रॉक्सी के माध्यम से आपके कनेक्शन प्राप्त करना आसान हो जाएगा जो मनमानी उपयोगकर्ताओं के बीच अक्सर मौजूद होते हैं। मशीन पर चल रहे किसी भी HTTP वेब सेवाओं के साथ विवाद से बचने के लिए, आपको आईपी पते के साथ एक कस्टम पोर्ट नंबर का उपयोग करना चाहिए: 1 9 2.168.1.10:12345, मानक HTTP वेब सर्वर पोर्ट 80 नहीं। यह आईएम का अधिकांश है ग्राहक करते हैं।

3

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

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

+0

+1। लेकिन अगर आप सबसे अच्छे जवाब के लिए मतदान करना चाहते हैं तो आपको वास्तव में थार जादू को एनएटी और राउंटिंग के रूप में समझा जाना चाहिए ... – PSyLoCKe

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

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