2011-08-15 16 views
5

पर सॉकेट पास करना मैं क्लाइंट/सर्वर एप्लिकेशन को .NET पर पोर्ट करने पर काम कर रहा हूं। सर्वर के वर्तमान सी संस्करण में एक प्रक्रिया (एक विंडोज सेवा) के लिए एक निष्पादन योग्य है जो सॉकेट कनेक्शन के लिए सुनता है। जब श्रोता सॉकेट कनेक्शन स्वीकार करता है तो यह उस कनेक्शन को संभालने के लिए एक नई प्रक्रिया को जन्म देता है। हैंडलर एप्लिकेशन एक अलग निष्पादन योग्य है।एक नए ऐपडोमेन

इस एप्लिकेशन के .NET संस्करण में, मुझे एक निष्पादन योग्य/प्रक्रिया चाहिए। श्रोता को प्रत्येक कनेक्शन के लिए एक नया ऐपडोमेन बनाना चाहिए (प्रत्येक क्लाइंट को आवंटित "कार्यकर्ता प्रक्रिया" को अलग करना)। मैं श्रोता ऐप डोमेन से कार्यकर्ता ऐप डोमेन में सॉकेट कैसे पास करूं?

धन्यवाद!

+0

अलगाव के आधार पर आप संबंधित डोमेन पर गेटडाटा और सेटडाटा का उपयोग करने में सक्षम हो सकते हैं लेकिन आपको वस्तुओं को मार्शल करना पड़ सकता है। क्या आपने अभी तक कुछ भी कोशिश की है? –

+0

मुझे लगता है कि मुझे अभी अपने प्रश्न का उत्तर मिला है। डुप्लिकेट एंडक्लोज़ विधि का उपयोग किया जा सकता है भले ही मैं सॉकेट को एक अलग प्रक्रिया में नहीं पारित कर रहा हूं। श्रोता सिर्फ अपनी प्रक्रिया आईडी में जा सकता है। [लिंक] (http://blogs.msdn.com/b/malarch/archive/2005/12/14/503884.aspx) –

+0

कूल, उम्मीद है कि यह ठीक से काम करता है; यदि ऐसा होता है तो आपको अपने प्रश्न का उत्तर देना चाहिए और इसे स्वीकार करना चाहिए। –

उत्तर

4

मुझे लगता है कि मुझे अभी अपने प्रश्न का उत्तर मिला है। डुप्लिकेट एंडक्लोज़ विधि का उपयोग किया जा सकता है भले ही मैं सॉकेट को एक अलग प्रक्रिया में नहीं पारित कर रहा हूं। श्रोता सिर्फ अपनी प्रक्रिया आईडी में डुप्लिकेट एंडक्लोज़ में जा सकता है।

समाधान यहाँ वर्णित है: http://blogs.msdn.com/b/malarch/archive/2005/12/14/503884.aspx

यह भी अगर आप एक अलग प्रक्रिया के लिए रवाना सॉकेट पास करना चाहते हैं काम करता है।

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