#java #android #sockets
#java #Android #сокеты
Вопрос:
Привет всем, у меня есть небольшой вопрос.
- У меня есть серверное клиентское приложение, в котором клиент будет отправлять данные асинхронно.
- Сервер получит сообщение и проанализирует его.
- Если сервер получит неверные данные, он отправит клиенту сообщение об ошибке.
Теперь моя проблема заключается в клиенте, я буду отправлять данные непрерывно, не заботясь о подтверждении пример:
-
Предположим, я отправляю около 1000 сообщений от клиента. Клиент отправляет все данные в сокет.
-
При возникновении ошибки сервер также поместит сообщение об ошибке в сокет.
-
Но может произойти и то, и другое: отправить данные с клиента или отправить сообщение с сервера.
Каков наилучший способ справиться с этим случаем?
Если возникает какая-либо ошибка и клиент получает сообщение об ошибке от сервера, то клиент должен повторно отправить данные. Один из способов — отправить данные и дождаться подтверждения. Я не хочу, чтобы клиент ждал подтверждения сервера, потому что вероятность ошибки очень мала. Может ли кто-нибудь подсказать мне какое-нибудь хорошее решение для этого?
Комментарии:
1. Я бы не стал рассчитывать на небольшую вероятность ошибки, особенно когда речь идет о мобильных устройствах.
Ответ №1:
В сообщении об ошибке должен быть указан «индекс», по которому клиент должен перезапустить отправку.