通过UDP将大量实时处理的数据从服务器发送到iPhone
我正在实现一个远程应用程序。服务器将以动画的形式实时处理和渲染数据。(准确地说是一系列图像)每次渲染图像时,图像都会通过UDP传输到接收的iPhone客户端 我已经学习了一些UDP,并了解到以下几点:通过UDP将大量实时处理的数据从服务器发送到iPhone,iphone,networking,udp,real-time,Iphone,Networking,Udp,Real Time,我正在实现一个远程应用程序。服务器将以动画的形式实时处理和渲染数据。(准确地说是一系列图像)每次渲染图像时,图像都会通过UDP传输到接收的iPhone客户端 我已经学习了一些UDP,并了解到以下几点: UDP的最大大小约为65k 然而,iPhone似乎只能接收41k UDP数据包。iPhone似乎无法接收比这更大的数据包 发送多个数据包时,许多数据包被丢弃。这是由于UDP处理规模过大造成的 减小数据包大小会增加未丢弃的数据包数量,但这意味着需要发送更多的数据包 我以前从未编写过真正实用的UD
- UDP的最大大小约为65k
- 然而,iPhone似乎只能接收41k UDP数据包。iPhone似乎无法接收比这更大的数据包
- 发送多个数据包时,许多数据包被丢弃。这是由于UDP处理规模过大造成的
- 减小数据包大小会增加未丢弃的数据包数量,但这意味着需要发送更多的数据包
压缩数据似乎是必须的,但在这个问题中,我想重点讨论UDP部分。通常,当我们实现UDP应用程序时,如果我们需要实时不间断地发送大量数据,那么在高效UDP编程的最佳实践方面,我们能做些什么呢?小数据包可能比大数据包好:-)假设您有非常具体和充分的理由使用UDP,并且需要所有数据到达(即,您不能容忍任何数据丢失)然后您需要做几件事(假设是单播应用程序):
我推荐史蒂文的“其中有一节介绍了高级UDP以及何时使用UDP而不是TCP是合适的。值得注意的是,他建议不要使用UDP进行批量数据传输,尽管现实情况是,这在流媒体应用程序中变得越来越普遍。抱歉,但这一点毫无帮助。请您进一步说明一下,这是一个很好的实践UDP应用程序的目的是将数据包大小保持在MTU大小之下,这样就不会出现碎片。请注意,MTU大小通常非常低。例如1396字节。您选择UDP而不是TCP有什么具体原因吗?