Zlib C ++ повышает данные инфляционных сокетов - PullRequest
1 голос
/ 25 марта 2011

Я получаю данные с сервера через сокет, используя boost asio, и данные сжимаются с использованием zlib.Мне нужно раздуть эти данные, как только я их получу.Есть ли простой способ сделать это с помощью Boost?Или любым другим способом?Код C ++.

Ответы [ 2 ]

3 голосов
/ 25 марта 2011

Библиотека Boost.Iostreams включает фильтр декомпрессора zlib (ссылка) .Вы можете прочитать часть данных из сокета в буфер, затем распаковать его, или вы можете (надеюсь, но я сам не пробовал) связать фильтр с сокетом и прочитать распакованные данные прямо из конца фильтра.

Заметьте, однако, что вам нужно перекомпилировать boost с поддержкой zlib. (ссылка)

0 голосов
/ 25 марта 2011

Не знаю насчет boost, но вы можете скачать zLib .h и .lib, связать ваш код и вызвать uncompress.

...