TCP предназначен для повторной отправки неподтвержденных пакетов. Это происходит как часть протокола и является основой алгоритма с утечкой памяти.
Из-за этого я могу думать только о том, чтобы отказаться от пакетов, если используемая библиотека имеет функцию не отправлять ACK после получения пакета. В этом случае просто отправьте ACK для всех пакетов, которые вы хотите сохранить, и проигнорируйте остальные, поскольку они будут повторно отправлены позже.
Сказав, что большинство библиотек не будут поддерживать эту функцию, так как она очень низкого уровня, и они обрабатывают часть TCP внутри.
Если вы сообщите нам конкретный язык (и реализацию сокета), который вы хотите ограничить, у кого-нибудь может быть лучший способ регулирования соединения