वर्तमान में मैं विंडोज पर एक बहु-प्रक्रिया डेस्कटॉप एप्लिकेशन पर काम कर रहा हूं। यह एप्लिकेशन एक संकीर्ण लपेटा हुआ एप्लीकेशन होगा जो दुनिया भर में क्लाइंट मशीनों पर तैनात किया जाएगा। जबकि हम मशीनों के लिए व्यापक विनिर्देश प्राप्त कर सकते हैं - उदा। .NET 4.0 सीएफ के साथ विंडोज एक्सपी एसपी 3, हम उनके ऊपर नियंत्रण नहीं करेंगे और हम उनकी कॉन्फ़िगरेशन पर बहुत विशिष्ट नहीं हो सकते हैं - उदा। हम निर्दिष्ट नहीं कर सकते कि मशीन में एक cuda 1.4 सक्षम ग्राफिक प्रोसेसर आदि होना चाहिएसी # सॉकेट बनाम पाइप्स
इनमें से कुछ प्रक्रियाएं प्रबंधित की जाती हैं (.NET 4.0) और अन्य अप्रबंधित (सी ++ Win32) हैं। प्रक्रियाओं को डेटा साझा करने की आवश्यकता है। विकल्प की तारीख के लिए मूल्यांकन किया है
- TCP सॉकेट
- नाम पाइप्स
पाइप्स थोड़ा बेहतर है, लेकिन हमारी जरूरतों के लिए प्रदर्शन करने के लिए लग रहे हैं - दोनों से प्रदर्शन स्वीकार्य हैं। और सॉकेट हमें क्रॉसिंग मशीन (और ऑपरेटिंग सिस्टम - हम अंततः गैर-माइक्रोसॉफ्ट ओएस का समर्थन करना चाहते हैं) भविष्य में सीमाओं को लचीलापन देते हैं इसलिए सॉकेट के साथ जाने की हमारी प्राथमिकता।
हालांकि - मेरी प्रमुख चिंता यह है - अगर हम टीसीपी सॉकेट का उपयोग करते हैं - क्या हम फ़ायरवॉल के साथ मुद्दों में भाग लेने की संभावना रखते हैं? क्या किसी और ने डेस्कटॉप एप्लिकेशन/प्रोग्राम तैनात किए हैं जो आईपीसी और अनुभवी मुद्दों के लिए टीसीपी का उपयोग करते हैं? यदि हां - तो किस तरह का?
मुझे पता है कि यह एक काफी खुला प्रश्न है और मुझे फिर से खुशी होगी। लेकिन मैं वास्तव में जानना चाहूंगा कि हमें किस प्रकार की संभावित समस्याएं चलने की संभावना है।
संपादित करें: थोड़ा और प्रकाश डालने के लिए - हम केवल कुछ पीओडी, स्याही, फ्लोट और तारों को ले जा रहे हैं। हमने अमूर्तता की एक परत बनाई है जो 2 प्रतिमान प्रदान करता है - एक अनुरोध/प्रतिक्रिया और सदस्यता। परिवहन परत को दूर कर दिया गया है और वर्तमान में हमारे पास दो कार्यान्वयन हैं - पाइप आधारित और टीसीपी आधारित।
स्पष्ट होने के लिए, यह केवल एक मशीन पर है, इसलिए आप नामित पाइप का उपयोग डेस्कटॉप के बीच संवाद करने के लिए नहीं कर रहे हैं? या नेटवर्क पर कुछ संचार भी होगा? –
अभी के लिए - सभी प्रक्रियाएं एक मशीन पर चल रही हैं। आखिरकार - सड़क के नीचे रास्ता - हम विभिन्न मशीनों पर प्रक्रियाओं को चलाएंगे। – quixver
आप यह सुनिश्चित करना चाहते हैं कि आप सड़क के लिए डिज़ाइन करें :) जब तक "सड़क से नीचे रास्ता" सैद्धांतिक नहीं है ... – bryanmac