Была неправильная реализация высокоуровневой надстройки над сокетом. Он ждал принятия определённого числа байт и если приходило меньше он ждал пока прийдут остальные. Из-за этого вис tcp_client_recv и ответ браузеру не уходил.
Похоже, что криво скомпилировал boost, отсутствуют даже некоторые библиотеки.
Скачал скомпилированную версию для windows 1.58 из репозиториев Fedora 24 всё заработало.