में पढ़ने के लिए एक सॉकेट से डेटा पढ़ने के लिए सी/सी ++ तरीका है और प्राप्तकर्ता बफर फ़ाइल (ऑफस्ट्रीम) या एक समान स्वयं-विस्तारित ऑब्जेक्ट है (वेक्टर उदाहरण)?सी ++ पढ़ा() - एक सॉकेट से एक ऑफस्ट्रीम
संपादित करें: प्रश्न उठता है, जबकि मैंने अनुमान लगाया कि स्ट्रीम सॉकेट को कैसे पढ़ा जाए, जो 10000+ बाइट फ़ाइल कहें। मैंने स्टैक्स पर 20000 या 50000 बाइट्स (अब के लिए काफी बड़ा) डालने की तरह कभी नहीं किया था, जहां एक फ़ाइल में चिपकने तक फ़ाइल को अस्थायी रूप से संग्रहीत किया जा सकता था। क्यों न सिर्फ इसे सीधे फ़ाइल में स्ट्रीम करने के लिए स्ट्रीम करें।
बहुत आप चार * एक एसटीडी के अंदर पर प्राप्त कर सकते हैं की तरह: स्ट्रिंग, मैं
read(int fd, outFile.front(), std::npos); // npos = INT_MAX
या ऐसा ही कुछ की तरह कुछ के बारे में सोचा।
अंत संपादित
धन्यवाद।
हां। काफी से कुछ लोगों ने स्ट्रीम बफर लिखा है जो सॉकेट से जुड़ते हैं। जबकि वे शुरू में कम से कम अच्छे लगते हैं, कम से कम मैंने जो देखा है, वे शायद ही कभी अभ्यास में अच्छी तरह से काम करते हैं। आपको (लगभग) को कुछ प्रकार के एसिंक्रोनस ऑपरेशन (उदा।, जैसे एएसआईओ करता है) को अच्छी तरह से काम करने के लिए जोड़ने की आवश्यकता है। http://socketstream.sourceforge.net/, http://www.pcs.cnu.edu/~dgame/sockets/socketsC++/sockets.html, आदि –