Приложение работает в изолированной сети, нотификаций нет, но связь с сервером должна быть всегда.
Foreground service. Есть библиотека которая выводит все события от вебсокета в listener.
Очевидно этот listener должен работать в фоне, там будет разбор пакетов и их передача в UI.
Пока думаю просто обернуть сокет и listener в обычныйThread, а сам Thread держать в сервисе.
через биндинг к сервису управлять сокетом (send, stop, reconnect и т.д.)