我正在播放一个文件(MP3),它在收到100KB后开始在客户端播放。我需要完美播放。
我必须对文件进行分段,以便可以在客户端进行缓冲,因此最好使用UDP +某种自定义可靠的传送协议吗? (假设我保持数据报小~1400字节)
或者我应该只使用TCP?如果TCP - 我应该将文件分段到什么大小以获得最佳性能 - 我认为它将与TCP数据包的大小相关?
我在某处读到/使用TCP而不是UDP +可靠性协议的原因是TCP做了一些奇特的事情来管理/与其他应用程序共享带宽,而UDP是贪婪的。这是真的?如果是这样,如果我确定决定使用UDP,那是否意味着如果我一次流式传输到多个客户端,我将不得不包含一些奇特的算法来共享带宽?
答案 0 :(得分:2)
这里最好使用UDP +某种自定义可靠的传输协议吗?
不要尝试重新发明TCP。它可能比你自己做的任何东西都好。
或者我应该只使用TCP?如果TCP - 我应该将文件分段到什么大小以获得最佳性能 - 我认为它将与TCP数据包的大小相关?
根本不需要使用TCP分割文件 - 毕竟它是基于流的协议。只需从连接开始全部发送,就会在收到MP3数据时收到。