का उपयोग कर प्रोटोबफ ऑब्जेक्ट्स पढ़ना मैं बूस्ट एएसओ का उपयोग कर एक एप्लीकेशन लिख रहा हूं जिसमें क्लाइंट और सर्वर संदेश जो Google प्रोटो-बफर का उपयोग करके क्रमबद्ध हैं। मुझे नहीं पता कि नेटवर्क पर क्रमबद्ध संदेश का आकार क्या है। ऐसा लगता है कि प्रोटो-बफ ऑब्जेक्ट्स में कोई डिलीमीटर नहीं है।बूस्ट :: asio :: read_async
यहां .proto फ़ाइल की सामग्री दी गई है।
package tutorial;
message Person {
required string name = 1;
required int32 id = 2;
optional string email = 3;
}
यहाँ है मैं कैसे सर्वर
tutorial::Person p;
p.set_name("abcd pqrs");
p.set_id(123456);
p.set_email("[email protected]");
write(p);
boost::asio::streambuf b;
std::ostream os(&b);
p.SerializeToOstream(&os);
boost::asio::async_write(socket_, b,
boost::bind(&Server::handle_write, this,
boost::asio::placeholders::error));
से लिख रहा हूँ ग्राहक मैं संदेश को बढ़ावा देने :: asio :: async_read का उपयोग करके उपरोक्त भेजा पढ़ रहा हूँ में। arg
के मान को नीचे दिए गए कोड में boost::asio::transfer_at_least
पर तर्क के रूप में सेट करने के तरीके को कैसे पता चलेगा?
boost::asio::async_read(socket_, response_,
boost::asio::transfer_at_least(arg),
boost::bind(&Client::handle_read_header, this,
boost::asio::placeholders::error));
अन्यथा मैं कैसे सुनिश्चित करूं कि बूस्ट :: async_read पूरे ऑब्जेक्ट को पढ़ने के बाद वापस आती है?
मुझे जवाब नहीं पता, लेकिन मुझे भी रूचि है, इसलिए +1। –
क्या आपने अपनी समस्या का समाधान किया है? मुझे बहुत दिलचस्पी है, और स्टील को प्रोटोबफ + बूस्ट डालने के बारे में कोई स्पष्ट निराशा नहीं है :: एएसओ एक साथ –