networking - 为什么RTP使用UDP而不是TCP?

标签 networking udp protocols voip rtp

我想知道为什么RTP中使用UDP而不是TCP?当我入侵了某些VoIP OSS时,主要的VoIP工具仅使用UDP。

最佳答案

正如DJ所指出的,TCP旨在获得可靠的数据流,并将减慢传输速度,并重新传输损坏的数据包,以实现此目的。

UDP不关心通信的可靠性,并且不会减慢或重新传输数据。

如果您的应用程序需要可靠的数据流(例如,要从Web服务器检索文件),请选择TCP。

如果您的应用程序不关心损坏或丢失的数据包,并且不需要增加额外的开销来提供更高的可靠性,则可以选择UDP。

可靠的数据包传输不会显着改善VOIP,实际上,在某些情况下,TCP中的诸如重传和指数退缩之类的事情实际上会损害VOIP的质量。因此,UDP是一个更好的选择。

关于networking - 为什么RTP使用UDP而不是TCP?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/361943/

相关文章:

linux - 在 Spark 中将 IP 地址设置为 spark.driver.host 而不是主机名?

linux-kernel - 原始套接字帮助 : Why UDP packets created by raw sockets are not being received by kernel UDP?

java - Java协议(protocol)栈开发的最佳实践

networking - CIDR 地址选择

networking - 如何连接两个 tcpdump 文件(pcap 文件)

linux - Samba 给出 "Function not implemented"错误

iphone - UIAlertViewDelegate 扩展协议(protocol)

c# - 将数据从服务器顺序传输到多个客户端

ios - 我可以编写使用 TCP/UDP 通信的 iPhone/iPad 应用程序吗?

ios - 协议(protocol)方法不起作用