我有一台服务器并从其他服务器接收数据。必须使用zlib压缩此数据并通过套接字将其发送到第三台服务器。第三台服务器使用gzip解压缩数据。
我使用此功能。
std::string compressData(const std::string &data)
{
using namespace boost::iostreams;
using namespace std;
using namespace boost::archive::iterators;
stringstream zippedOutputStream;
filtering_ostream filteringStream;
filteringStream.push(gzip_compressor());
filteringStream.push(zippedOutputStream);
stringstream stringStream;
stringStream << data;
boost::iostreams::copy(stringStream, filteringStream);
return zippedOutputStream.str();
}
第三台服务器一次收到两件或多件。它试图用gzip解压缩数据但结果只是第一块。缺少其他部分。我应该如何更改compressData函数来解决这个问题。