Обнаружена странность. При выдаче длинной строки в качестве ответа сервер ронял программу. Вылечилось заменой fprintf(f, "%s", string) на fputs(string, f);