Wenn eine Anwendung UDP-Pakete überträgt, muss sichergestellt sein, dass einige (oder sogar viele) dieser Pakete verworfen werden.
Die Anwendung muss sich also damit befassen (z. B. Echtzeit-Audio- oder -Videodaten, bei denen die fehlenden Informationen einfach ignoriert werden und die Qualität beeinträchtigen, weil Sie Pakete nicht erneut senden können), oder sie muss ihr eigenes Protokoll implementieren, um eine erneute Übertragung zu gewährleisten. oder es muss ein anderes Protokoll verwenden, das eine eventuelle Lieferung garantiert.
Das Implementieren eines externen Layers "Senden Sie nur 2 Kopien" ist keine Lösung. Ja, ich weiß, dass du das nicht hören willst, aber es stimmt.
Schreiben Sie also die Anwendung neu, um das richtige Protokoll zu verwenden.
Alternativ können Sie die Pakete über eine andere Anwendung tunneln, die ein ordnungsgemäßes Protokoll (Tun / Tap-Schnittstelle) implementiert. Wenn Sie darauf bestehen, "nur Pakete zu duplizieren", um ein ordnungsgemäßes Protokoll zu sein (es ist nicht schwierig, eine solche Anwendung zu schreiben, google für Beispielprogramme für TUN / TAP), probieren Sie es aus und prüfen Sie, ob es funktioniert (es funktioniert nicht).