Когда я отлаживаю свое серверное приложение, использующее Restlet, клиент (который является мобильным приложением) бросает исключение TimeoutException, не получая данные, но мое серверное приложение не знает. Приложение предполагает, что клиент получил свои данные. Как мое приложение может обнаружить, что клиент не получил данные?Как мое приложение обнаруживает преждевременное разъединение клиента?
Вариант использования не отлаживается, но я могу представить, что сервер может быть достаточно медленным, чтобы клиент мог исключить исключение тайм-аута или другие причины преждевременного отключения, которое серверное приложение не замечает.
Один из путей, который я могу предпринять, заключается в создании подтверждения приема полученных данных на уровне приложения. Но это усложняет мое приложение.
Правда, для большинства приложений. Мое приложение может получать blob данных, токен, с сервера, или нет. Токен не дублируется, не может быть двух копий токена, когда клиент получает его, сервер удаляет его. Но клиент не знает заранее, есть ли токен или нет. В настоящее время я теряю токены. Из того, что вы говорите, я должен реализовать уровень подтверждения на сервере, что сервер удаляет только токен, когда клиент подтверждает его получение в отдельном сообщении. – Christine
Да, это нормально. Конечно, вы также должны учитывать, что клиент, возможно, не захочет перезвонить. –