我的应用程序需要从服务器逐帧发送视频数据到客户端。我在TCP和UDP之间犹豫不决。
从我的测试中,我发现以下结果:
TCP:非常容易实现。
UDP:要将一帧(约50KB)发送到客户端,如果为每个帧创建1个UDP包,则发送始终会丢失帧。因此,我必须将每个帧分成多个UDP包。这使得我的算法更加复杂,因为UDP协议可能会丢失包并且包可以无序传递。另外,如果每个UDP包中的数据长度较大,则很容易丢失。
我有一些问题:
1. 我应该在这种类型的应用程序中使用TCP还是UDP?
2. 如果我想使用UDP进行更快的传输,如何确定每个包中的合适数据长度,以便在传输时不容易丢失?(这可能属于网络带宽)?
3. 根据您的经验,您能估计TCP比UDP快多少百分比吗?
抱歉在一篇文章中提出了这么多问题,但在决定在我的应用程序中使用TCP还是UDP之前,我需要了解更多详细信息。
从我的测试中,我发现以下结果:
TCP:非常容易实现。
UDP:要将一帧(约50KB)发送到客户端,如果为每个帧创建1个UDP包,则发送始终会丢失帧。因此,我必须将每个帧分成多个UDP包。这使得我的算法更加复杂,因为UDP协议可能会丢失包并且包可以无序传递。另外,如果每个UDP包中的数据长度较大,则很容易丢失。
我有一些问题:
1. 我应该在这种类型的应用程序中使用TCP还是UDP?
2. 如果我想使用UDP进行更快的传输,如何确定每个包中的合适数据长度,以便在传输时不容易丢失?(这可能属于网络带宽)?
3. 根据您的经验,您能估计TCP比UDP快多少百分比吗?
抱歉在一篇文章中提出了这么多问题,但在决定在我的应用程序中使用TCP还是UDP之前,我需要了解更多详细信息。