Я разрабатываю приложение для синхронизации файлов (например, DropBox).Клиент сохраняет постоянный сокет Secure (SSL) TCP с сервером на порту 443. Всякий раз, когда файл создается / изменяется / удаляется на клиенте, пакет, содержащий соответствующие данные, отправляется через сокет на сервер, который обрабатывает его дляобновить файл на сервере.Аналогичным образом, когда что-то меняется на сервере, он отправляет соответствующие данные клиенту, который затем обновляет локальную копию.
Это работает абсолютно нормально, когда сервер находится на локальном компьютере или в локальной сети.Что меня беспокоит, так это когда клиент находится в ненадежной сети. Таким образом, мой вопрос заключается в том, какие передовые практики следует учитывать при разработке такого приложения?
Например, например, когда файл создается на клиенте, если клиент просто отправитданные на сервер и забыть об этом, или он должен ждать подтверждения от сервера в течение определенного периода времени, в противном случае отправка данных снова?А что за подтверждение?