Сервер уже реализован и он может отправлять комманды без запроса клиента, например заблокируй дверь. Тут стоит вопрос о том что правильнее? И возможно придется переписать серверную часть, такой подход был сделан ради уменьшения потока данных.
есть многопоточное приложение - клиент, по определенным событиям происходит отправка запросов на сервер и ожидание ответов, на некоторые комманды ответов нет.
Но, иногда сеть ложится и данные сохраняются в БД, потом сеть подымается и нужно отправить данные на сервер, которые не были синхронизированны, если начать их скопом отправлять при установлении соединения с сервером, то это заблокирует отправку данных по событиям, которые в приоритете, нежели синхронизация данных.
При этом, когда установленно постоянное соединение с клиентом, сервер может дать комманду: отключи устройство номер 5.
И тут пришла мысль о том, а мб вообще отказаться от мультисерверной функции? И перейти на непостоянное соединение, как в браузере и хоть в +100500 потоков отправлять данные из нескольких классов сразу?
ДА, но при этом инициатором передачи данных после установления соединения может быть и сам сервер, без запроса клиента при постоянном socket соединении.