Есть 3 варианта, позволяющие двухсторонний обмен сервер-клиент:
-
WebSockets
-
Server-Sent Events
- Long Polling
Есть библиотеки которые являются обёрткой над этими транспортами и выбирают лучший исходя их возможностей клиента. Для .Net это
SignalR, для Java и Kotlin не знаю, но можете поискать по ключевым словам.
И еще, до кучи, ответ со StackOverflow
https://stackoverflow.com/questions/11077857/what-...