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