Wie debugge ich Paketverlust?

Ich habe eine C ++ - Anwendung geschrieben (läuft unter Linux), die einen RTP-Stream von ca. 400 kbps bereitstellt. Bei den meisten Zielen funktioniert dies problemlos, bei einigen Zielen tritt jedoch ein Paketverlust auf. Die problematischen Ziele scheinen eine langsamere Verbindung zu haben, aber sie sollte schnell genug für den von mir gesendeten Stream sein.

Da diese Ziele in der Lage sind, ähnliche RTP-Streams für andere Anwendungen ohne Paketverlust zu empfangen, liegt möglicherweise ein Fehler bei meiner Anwendung vor.

Ich habe bereits einige Dinge überprüft: - In einem tcpdump werden alle RTP-Pakete auf dem sendenden Computer ausgegeben. - Es ist ein UDP-Sendepuffer vorhanden (ich habe Größen zwischen 64 KB und 300 KB versucht). - Die RTP-Pakete bleiben meist unter 1400 Bytes zur Vermeidung von Fragmentierung

Was kann eine sendende Anwendung tun, um die Möglichkeit eines Paketverlusts zu minimieren, und wie kann eine solche Situation am besten behoben werden?

Antworten auf die Frage(10)

Ihre Antwort auf die Frage