Не должно быть проблем с этим через сокет. По сути, вы настраиваете поток на стороне сервера для отправки данных всякий раз, когда предоставляется новый набор.
Затем на стороне клиента создайте поток, который постоянно слушает сокет, считывает и распаковывает данные, когда это возможно, публикует их где-нибудь для обработки кода вашего клиента, чтобы использовать их, а затем возвращается к опросу цикл ожидания, пока сервер не отправит больше данных.
Просто убедитесь, что на стороне клиента вы предоставляете метод уничтожения потока слушателя, если сокет закрывается (сервер выключается, перехват сети и т. Д.).