gpt4 book ai didi

c++ - 如何附加 read_some 缓冲区?

转载 作者:行者123 更新时间:2023-11-30 04:32:05 26 4
gpt4 key购买 nike

我有一些客户端 asio 代码使用 read_some() 直到读取了字节数。但是通过查看所有示例,我无法弄清楚如何将读取缓冲区组装成包含整个消息的更大缓冲区。我该怎么做?

boost::array<char, 4096> buf;
while (lnTotalBytesRead < BigMessageSize)
{
size_t len = obj->socket_.read_some(boost::asio::buffer(buf), error);
lnTotalBytesRead += len;
// Need to append each received block into large block.
}

最佳答案

不要read_some,通过read一次读取整个缓冲区:

boost::array<char, BigMessageSize> buf;
boost::asio::read(obj->socket_, boost::asio::buffer(buf), error);

关于c++ - 如何附加 read_some 缓冲区?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7895894/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com