我编写了一个C++应用程序(在Linux上运行),用于服务约400 kbps的RTP流。对于大多数目的地来说,这可以正常工作,但是有些目的地会经历丢包。有问题的目的地似乎有一个共同的较慢的连接,但它应该足够快,足够我发送的流。如何调试数据包丢失?
因为这些目的地都能够收到类似RTP为无丢包其他应用程序流,我的应用程序可能会出现故障。
我已经验证的几件事情: - 在tcpdump的,我看到所有的RTP包走出去送机 上 - 有一个UDP的地方(我试过64KB和300KB之间大小) 发送缓冲区 - 该RTP包大多停留低于1400个字节,以避免碎片
什么可以发送应用程序做,以尽量减少数据包丢失的可能性,这将是调试这种情况最好的方法是什么?
RTP的很大一点是利用UDP语义;特别是允许丢失数据包而不会拖延流的其余部分。 – jesup 2010-05-13 08:15:29
糟糕!我对RTP无知是个不好的因素。我现在就去阅读。感谢您的领导! – 2010-05-13 09:00:43