如何使用boost zlib流数据进行压缩

时间:2012-09-25 07:45:36

标签: c++ boost zlib

我有一台服务器并从其他服务器接收数据。必须使用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函数来解决这个问题。

0 个答案:

没有答案