में फ़ाइल-स्तरीय फाइल सिस्टम अधिसूचना बदलना चाहता है, मैं चाहता हूं कि मेरे कोड को अधिसूचित किया जाए जब किसी भी फ़ाइल को (या तो प्रत्यक्ष या परोक्ष रूप से) किसी दिए गए निर्देशिका में संशोधित किया गया हो। "संशोधित" से, मेरा मतलब है कि जब भी कोई फ़ाइल की सामग्री बदल जाती है, तो मेरा कोड अधिसूचित होना चाहता है, इसका नाम बदल दिया गया है, या इसे हटा दिया गया है; या अगर कोई नई फाइल जोड़ दी गई है। मेरे आवेदन के लिए, हजारों फाइलें हो सकती हैं।मैक ओएस एक्स
मैं FSEvents के रूप में देखा है, लेकिन इसकी प्रौद्योगिकी सिंहावलोकन कहते हैं, भाग में:
दूर ले करने के लिए महत्वपूर्ण बात यह है कि सूचनाओं के विवरण के स्तर को एक निर्देशिका के स्तर पर है। यह आपको केवल इतना बताता है कि निर्देशिका में कुछ बदल गया है, लेकिन आपको यह नहीं बताता कि क्या बदल गया है।
यह भी कहते हैं:
फाइल सिस्टम घटनाओं एपीआई भी जब किसी विशेष फ़ाइल परिवर्तन जानने के लिए नहीं बनाया गया है। ऐसे उद्देश्यों के लिए, Kqueues तंत्र अधिक उपयुक्त है।
हालांकि, किसी दिए गए फ़ाइल पर kqueue का उपयोग करने के लिए, फ़ाइल फ़ाइल डिस्क्रिप्टर प्राप्त करने के लिए फ़ाइल को खोलना होगा। हजारों फ़ाइल डिस्क्रिप्टरों को प्रबंधित करने के लिए यह अव्यवहारिक है (और संभवतः ओपन फाइल डिस्क्रिप्टर की अधिकतम स्वीकार्य संख्या से अधिक हो जाएगा)।
उत्सुकता से, विंडोज के तहत, मैं ReadDirectoryChangesW()
फ़ंक्शन का उपयोग कर सकता हूं और यह वही है जो मैं चाहता हूं।
तो मैक ओएस एक्स के तहत मैं क्या कर सकता हूं? या, एक और तरीका पूछा: उपयोगकर्ता-स्पेस में मैक ओएस एक्स के लिए ReadDirectoryChangesW()
के बराबर लिखने के बारे में कोई कैसे होगा (और बहुत कुशलता से ऐसा करें)?
मैं आमतौर पर विंडोज प्रोग्रामिंग को नापसंद करता हूं और मैक/लिनक्स प्रोग्रामिंग को बहुत पसंद करता हूं। यह सिर्फ विचित्र लगता है कि विंडोज़ में कम से कम 1 चीज करना आसान है। –
ओह, विंडोज़ पर कई चीजें करना आसान है। कोको का उपयोग करके SOAP से बात करने का प्रयास करें। एनएसएआरएआरई अच्छा है, लेकिन कभी-कभी सी # -स्टाइल जेनेरिक का स्वागत है। मैक के पास एएसपी.नेट के करीब कुछ भी नहीं है (मैं आपको देख रहा हूं, वेब ऑब्जेक्ट्स)। मुझे कोको पसंद है; यह अब तक का सबसे अच्छा ढांचा है जिसे मैंने कभी सामना किया है। लेकिन कोई भी जो सोचता है कि विंडोज़ की तुलना में मैक पर डेवलपर्स के लिए सब कुछ बेहतर है, दोनों पर बहुत ज्यादा विकसित नहीं हुआ है। इस तरह की चीजों के लिए, हम सभी जेएफएस के उस पवित्र अंगूर की प्रतीक्षा कर रहे हैं, जो इस तरह की चीजें आसान और तेज़ कर सकता है। किसी दिन ... (माइक्रोसॉफ्ट के पास Winfs के सपने भी हैं ...) –
समस्या यह है कि आप मैक प्रोग्रामिंग के साथ लिनक्स प्रोग्रामिंग को घुमा रहे हैं। लिनक्स पर इनोटिफाइवेट के साथ करना बहुत आसान है। – MarkovCh1