के लिए समकक्ष कांटा/क्रोट समकक्ष मैंने लिनक्स पर चल रहे सी में एक छोटा कस्टम वेब सर्वर एप्लिकेशन लिखा है। जब एप्लिकेशन को अनुरोध प्राप्त होता है तो यह फोर्क() को कॉल करता है और अनुरोध को एक अलग प्रक्रिया में संभालता है, जिसे एक विशिष्ट निर्देशिका में घुमाया जाता है जिसमें फाइलें उपलब्ध हैं जिन्हें मैं उपलब्ध करना चाहता हूं।विंडोज सर्वर अनुप्रयोग
मैं एप्लिकेशन को विंडोज़ पर पोर्ट करना चाहता हूं, लेकिन इस मंच पर न तो कांटा() और न ही क्रोट() उपलब्ध हैं, और ऐसा कोई प्रत्यक्ष समकक्ष प्रतीत नहीं होता है। क्या आप मुझे कोड के एक साधारण (और अधिमानतः अच्छी तरह लिखित) उदाहरण के लिए इंगित कर सकते हैं जो विंडोज़ में यह कार्यक्षमता प्रदान करेगा? मेरा सी इतना अच्छा नहीं है, तो बेहतर बेहतर है।
उत्तर अब तक इंगित करते हैं कि फोर्क() के लिए कोई आसान विकल्प नहीं है, मुझे अलग-अलग उपयोग करने पर विचार करने में खुशी है एक नई प्रक्रिया को फोर्क करने के बजाय धागे, लेकिन अभी भी एक कोड उदाहरण पसंद करेंगे। ऐसे कई वेब सर्वर हैं जो विंडोज़ (जैसे अपाचे) पर चलते हैं, जो इस समस्या के फोर्क() और क्रोट() दोनों भागों को संबोधित करते हैं, आमतौर पर उठाए गए दृष्टिकोण का एक संक्षिप्त सारांश स्वीकार करेंगे और प्रासंगिक भागों से लिंक अपाचे (या अन्य) स्रोत का। – codebox
आपकी टिप्पणी को देखते हुए, मैं सुझाव दूंगा कि आप सिग्विन नमूना स्रोत पर अपना कोड आधार नहीं बनाते हैं, बल्कि इसके लिए विवरणों का ख्याल रखने के लिए अपाचे पोर्टेबल रनटाइम लाइब्रेरी का उपयोग करें। –
मुझे भी लगता है कि आपको कुछ पुस्तकालय के साथ जाना चाहिए। यह भी देखें: http://www.gnu.org/software/libmicrohttpd/ - विंडोज और यूनिक्स दोनों के लिए समर्थन के साथ एक HTTP सर्वर लाइब्रेरी। आपके प्रोग्राम में वेब सर्वर कार्यक्षमता को एम्बेड करने के लिए प्रयुक्त होता है। http://abyss.sourceforge.net/ - जीत/यूनिक्स के लिए वेब सर्वर भी, आप धागे और प्रक्रियाओं के बारे में भूल सकते हैं और गैर-अवरुद्ध आईओ का उपयोग कर सकते हैं। इस तरह आपको केवल एक प्रक्रिया की आवश्यकता होती है, इसके बजाय आप किसी सूची या सरणी में कनेक्शन का ट्रैक रखते हैं। एक उदाहरण: http://www.cubicsky.com/files/shinyhttpd-0.1.3-sc.c.tar.gz –