【发布时间】:2011-02-12 23:58:50
【问题描述】:
我编写了一个 C++ 应用程序(在 Linux 上运行),它提供大约 400 kbps 的 RTP 流。对于大多数目的地来说,这可以正常工作,但有些目的地会出现数据包丢失。有问题的目的地似乎有一个共同的连接速度较慢,但对于我正在发送的流来说它应该足够快。
由于这些目的地能够为其他应用程序接收类似的 RTP 流而不会丢失数据包,因此我的应用程序可能有问题。
我已经验证了几件事: - 在 tcpdump 中,我看到所有 RTP 数据包都在发送机器上发出 - 有一个 UDP 发送缓冲区(我尝试了 64KB 和 300KB 之间的大小) - RTP 数据包大多保持在 1400 字节以下以避免碎片
发送应用程序可以做些什么来最大程度地减少数据包丢失的可能性以及调试这种情况的最佳方法是什么?
【问题讨论】:
标签: c++ linux networking packet rtp