मुझे निम्न तरीके से एक टीसीपी सॉकेट के लिए एक वर्णक मिला है:सॉकेट के लिए वर्णक फाइल पॉइंटर्स में परिवर्तित किया जा सकता है?
int desc = accept(socket_descriptor, &client_address, &len)
अब इस वर्णनकर्ता desc
से मैं एक फ़ाइल सूचक प्राप्त करना चाहता हूं। Xzx12 यहां इस्तेमाल किया जा सकता है?
कारण मैं एक फ़ाइल सूचक प्राप्त करना चाहता हूं क्योंकि मैं किसी मौजूदा कोड में परिवर्तन कर रहा हूं जो स्थानीय फ़ाइल में डेटा लिखता है। अब, मैं अपनी कार्यक्षमता को विस्तारित करना चाहता हूं ताकि यह वैकल्पिक रूप से एक टीसीपी क्लाइंट को लिख सके। मैं सभी कार्यों को फिर से लिखना नहीं चाहता हूं और किसी भी तरह से मौजूदा बुनियादी ढांचे का उपयोग करने में सक्षम होने की सोच रहा था। मौजूदा फ़ंक्शन फ़ाइल को लिखने के लिए फ़ाइल पॉइंटर का उपयोग करते हैं। मैं सोच रहा था कि क्या कोई भी कार्य बिना किसी बदलाव के एक टीसीपी स्ट्रीम को लिखना संभव था।
अधिकांश फ़ाइलें लाइन buffered, केवल 'stdout' नहीं हैं। मुझे यकीन नहीं है कि फ़ाइल को लाइन बफर करने के लिए एक फ़ाइल सेट करने का कोई तरीका है, लेकिन मेरा मानना है कि ज्यादातर ब्लॉक बफर किए जाएंगे, जो थोड़ा सा सॉकेट अनुकूल होना चाहिए। –
@ChrisLutz: फ़ंक्शन 'setlinebuf' है। मुझे लगता है कि 'stdout' केवल लाइन बफर किया गया है अगर यह टर्मिनल पर लगा हुआ है, लेकिन मुझे यकीन नहीं है। –
@DietrichEpp - धन्यवाद। और मुझे लगता है कि आप 'stdout' के बारे में सही हैं। –