9

मेरे पास एक ऐसा एप्लिकेशन है जिसे मैं विंडोज़ पर उपयोग करना चाहता हूं। मैं AF_UNIX परिवार अन विंडोज़ का उपयोग कर रहा हूँ। मैं जानना चाहता हूं कि AF_UNIX परिवार विंडोज़ में उपलब्ध है। यदि नहीं तो AF_UNIX के लिए कोई विकल्प है?विंडोज़ में AF_UNIX

धन्यवाद अर्पित

+2

मुझे 100% यकीन नहीं है कि AF_UNIX क्या है, लेकिन यदि इंटरप्रोसेस कॉम के लिए, तो विंडोज़ स्थानीयहोस्ट से जुड़ी AF_INET सॉकेट का उपयोग करके कुशल इंटरप्रोसेस कॉम कर सकती है। इस मामले में विंडोज़ यह पता लगाती है कि सॉकेट किसी अन्य स्थानीय प्रक्रिया को इंगित कर रही है और डेटा ट्रांसफर करने के लिए एलआरपीसी का उपयोग करके कॉमर्स स्टैक को शॉर्टकट करता है (यह प्रक्रियाओं के बीच बफर की शून्य कॉपी चाल के लिए मेमोरी मैप की गई फ़ाइलों का उपयोग करता है)। –

+1

दो शब्दों में: नामित पाइप। – ninjalj

उत्तर

9

बस TCP सॉकेट का उपयोग करें, वे बहुत ज्यादा यूनिक्स सॉकेट की तरह व्यवहार करते हैं।

या आप नामित पाइप का उपयोग कर सकते हैं और या poll() के बजाय WaitForMultipleObjects() का उपयोग कर सकते हैं। विंडोज़ नामित पाइप यूनिक्स में नामित पाइप की तरह नहीं हैं। विंडोज़ नामित पाइप द्वि-दिशात्मक हैं और इस प्रकार यूनिक्स में नामित पाइप की तुलना में AF_UNIX सॉकेट की तरह अधिक हैं।

0

विंडोज यूनिक्स डोमेन सॉकेट का समर्थन नहीं करता है, न ही यह सॉकेट एपीआई का उपयोग करने वाला एक अच्छा विकल्प प्रदान करता है। आपको विंडोज़ पर टीसीपी सॉकेट का उपयोग करना चाहिए - अगर आप AF_UNIX सॉकेट के समान कुछ चाहते हैं तो सर्वर को स्थानीयहोस्ट से बांधें। आपकी समस्या के आधार पर, टीसीपी का ओवरहेड नगण्य है।