मैं इस विशेष बूस्ट मॉड्यूल से परिचित नहीं हूं। लेकिन, यदि आप एक बफर बनाने के लिए एक रास्ता तलाश रहे हैं जो कि एक प्रकार की भंडार की तरह कार्य करता है, तो मैं इसे प्रबंधित करने के लिए एक और धागा बनाउंगा। थ्रेड आने वाली स्ट्रीम को LIFO कर सकता है, फ़िल्टर अनुरोधों और बफर प्रबंधन को संभालने में सक्षम है। इसे एक अलग धागे पर रखने का मतलब यह होगा कि सिस्टम बफर खत्म होने से पहले आने वाले पैकेट पर ध्यान दिया जाएगा, इसलिए आपको कुछ भी याद करने की चिंता करने की आवश्यकता नहीं है। धागे के बीच मध्यस्थता के लिए एक संदेश कतार बनाया जा सकता है।
यह कहा जाता है कि अंत में इसे संभालने के लिए पूर्व निर्धारित लिबरी को देखने और अपने आप को थोड़ा समय बचाने के लिए शायद सबसे आसान होगा। this post देखें।
एक समस्या यह है कि एसिंक्रोनस सॉकेट पर धाराओं का उपयोग करना मुश्किल है। उदाहरण के लिए, जब तक बफर में और नहीं होता तब तक आप धारा से एक स्ट्रिंग पढ़ते हैं। लेकिन आप (या धारा) कैसे जानते हैं कि यह वास्तव में स्ट्रिंग का अंत है? बाकी एक और पैकेट में आ सकते हैं, और यह जानने का कोई तरीका नहीं है कि कब, या वास्तव में, इसे वितरित किया जाएगा। –
जिज्ञासा से आपने इसे देखा है? http://stackoverflow.com/questions/3668128/how-to-create-a-boost-ssl-iostream – NothingMore
@ जोचिमपिलबोर्ग: यह जानना बेहद आसान है - जब तक आप सॉकेट पर स्ट्रीम या त्रुटि के अंत तक नहीं पहुंच जाते। बाकी व्यवसाय तर्क है जो उपयोग में उच्च स्तरीय प्रोटोकॉल पर निर्भर करता है। ऐसा कहा जा रहा है कि, बफरिंग की आवश्यकता है, लेकिन इसके लिए सी ++ iostream होना braindead है। लिबेवेंट उस कारण से अच्छा सामान्य उद्देश्य बफर एपीआई प्रदान करता है। –