Я нашел эту тему в SO о SocketChannels:
Реализация веб-службы Android
Существуют ли простые примеры использования асинхронного SocketChannel?Как я могу держать сокет открытым и что-то делать каждый раз, когда получаю данные?