我要开发一个Android应用程序,通过WiFi传输音乐文件,联系人交换,语音聊天,文本聊天等。哪种协议适合我的应用程序UDP或TCP。因为这两个协议都有一些优点和缺点。你能给我一些建议吗,这对我有帮助..
提前致谢
答案 0 :(得分:8)
如果您不知道哪个更适合您的应用程序,那么您应该使用TCP。当你更好地理解TCP及其局限性时,你可能想深入研究UDP的神秘世界。
答案 1 :(得分:2)
如果一个人最好(普遍),那么另一个就不存在了......
如果您想确保您发送的数据确实正确传送到客户端:使用 TCP 。
如果您的应用程序性能至关重要且/或带宽是限制因素且数据包很小(适合一帧),请使用 UDP 。
在您的情况下,我使用TCP / IP,因为对于流式传输或大数据,所有帧都必须以正确的顺序到达(或者可以由客户端订购)。
答案 2 :(得分:1)
TCP。
UDP无法提供可靠的传输,这对您描述的应用程序来说至关重要。例如,如果您正在交换联系人详细信息,而另一端没有收到一半的电话号码 - 这对UDP很有可能,您将如何从中恢复?
答案 3 :(得分:1)
<强> TCP:强>
这个协议是最常用的,其原因是它在数据包传送方面的可靠性,因为每个数据包都保证到达目的地。它更常用于像流媒体这样的东西,你不希望数据最后/
使用TCP,它比UDP略慢并且具有更多功能:
来源@ Wikipeida > Transmission Control Protocol -> Data transfer
TCP是最受欢迎的最佳选择,并且具有更广泛的功能
答案 4 :(得分:0)
您应该使用TCP,因为您要确保数据包实际到达。
TCP具有一点处理和带宽开销,但确保您的数据包确实到达并重新发送那些尚未报告的数据包。
UDP最常用于所有数据包的到达不是关键任务的情况,例如:如果您在第一人称射击游戏等动作游戏中更新移动数据。但即便如此,我最近也会使用TCP。
答案 5 :(得分:0)
您正在谈论的应用程序在网络方面有很多要求。您可能需要考虑使用:
使用TCP,内置重传是UDP无法获得的。您不希望重新传输语音数据包(例如)。