Пытаюсь реализовать относительно простое сетевое приложение для Android-а. Необходимо обмениваться с сервером большими JSON-ами в фоновом режиме(в отдельном Service), используя технологию "Long Polling". Пробовал различные реализации TCP-клиента и столкнулся с проблемами разного характера: либо сокет блокируется до конца "прослушки" и не получается передавать полученные данные "на лету", либо данные не приходят целиком сразу(буфер слишком маленький и т.д). Подскажите известные(актуальные на 2015 год) решения, статьи по этим вопросам или книги на тему "Архитектура сетевых приложений в Android" и подобное.