Дублирование сообщений в случае плохого интернет соединения TCPClient
При клиент-серверном соединении в случае плохого интернет соединения иногда терялись пакеты. Данную проблему я решил следующим образом: При получении нового сообщения от сервера - клиент отправляет что-то в ответ. Если клиент не отправил "подтверждение" обратно на сервер - сервер отправляет ему сообщение ещё раз. Бывает ситуация, что клиент "завис", а сервер ему продолжает отправлять сообщения, думая, что пакеты были потеряны. По итогу получается, что клиент иногда получает 2-3 одинаковых сообщений. Как решить данную проблему?
Мой вариант: добавить каждому сообщению идентификатор и при получении записывать этот идентификатор в коллекцию. При получении нового сообщения от сервера - проверять, нет ли данного идентификатора в коллекции, и обрабатывать только в том случае, если такого идентификатора нет.