我编写了一个C++应用程序(在Linux上运行),它提供大约400 kbps的RTP流。对于大多数目标,这很好用,但是有些目标会出现数据包丢失的情况。这些有问题的目标似乎都有一种共同点,就是连接速度较慢,但应该足够快来接收我发送的流。
由于这些目标可以接收其他应用程序发送的类似RTP流而没有数据包丢失,我的应用程序可能存在问题。
我已经验证了一些事情: - 在tcpdump中,我看到所有的RTP数据包都从发送机器发出 - 有一个UDP发送缓冲区(我尝试了64KB和300KB之间的大小) - RTP数据包大多数情况下保持在1400字节以下,以避免分段
发送应用程序可以采取什么措施来最小化数据包丢失的可能性,并且最好的调试方法是什么?
由于这些目标可以接收其他应用程序发送的类似RTP流而没有数据包丢失,我的应用程序可能存在问题。
我已经验证了一些事情: - 在tcpdump中,我看到所有的RTP数据包都从发送机器发出 - 有一个UDP发送缓冲区(我尝试了64KB和300KB之间的大小) - RTP数据包大多数情况下保持在1400字节以下,以避免分段
发送应用程序可以采取什么措施来最小化数据包丢失的可能性,并且最好的调试方法是什么?