我的服务器运行以下代码:
boost::asio::streambuf streambuf;
std::istream istream(&streambuf);
boost::archive::xml_iarchive xml_iarchive(istream);
boost::asio::read_until(socket_, streambuf, '\n');
当服务器启动并运行时,我从另一台机器连接 vie telnet。建立连接后,连接立即关闭,服务器崩溃,但出现以下异常:
terminate called after throwing an instance of 'boost::archive::xml_archive_exception'
what(): unrecognized XML syntax
上面代码片段的失败在哪里?在我手动输入一些 XML 字符串之前,我认为 telnet 会话正在发送一个“\n”。