UDP同通信好还是Tcp的好

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了UDP同通信好还是Tcp的好相关的知识,希望对你有一定的参考价值。

本来他们两个是为了适用不同的需求而出来的传输方式,没得说谁好谁坏,如果硬是要说好和坏,只能从不同业务需求来说,对于实时性要求比较高的时候,肯定是udp,因为实时性中传输大量的数据,丢一些包不妨碍实时性; 如果是网络非常好的情况,并且要数据完整的只能说优先考虑tcp,udp也是可以做到的,但是就比较麻烦需要去做拆包分包的帧的验证和判断,但是做好了绝对比tcp好,这是在公司人力资源允许的情况下;
因此综上所述:inter网的传输优先考虑udp,实时性高的只能用udp,tcp开发相对简单,为了开发效率可以考虑;
如果是局域网的传输,想都别想就用tcp,无论是实时的还是大文件的都用tcp,因为局域网的网速是不用质疑的;
另外,拿个QQ例子,个人认为,qq文件传输中,应该是判断对方好友是否是和本人在同一个局域网下,如果是就用tcp连接发送文件飞快,如果是外网的应该是用udp
参考技术A TCP是全世界免费使用的网络协议,UDP是需要另外支付费用的。TCP安全,绝大部分网络连接都要使用TCP/IP协议,UDP适用于下载上传等操作,顺便说一句,QQ的连接也是个UDP,不包括发送文件和图片。

TCP通信

TCP通信同UDP通信一样,都能实现两台计算机之间的通信,通信的两端都需要创建socket对象。区别在于,UDP中只有发送端和接收端,不区分客户端与服务器端,计算机之间可以任意地发送数据。而TCP通信是严格区分客户端与服务器端的,在通信时,必须先由客户端去连接服务器端才能实现通信,服务器端不可以主动连接客户端,并且服务器端程序需要事先启动,等待客户端的连接。
TCP通信同UDP通信一样,都能实现两台计算机之间的通信,通信的两端都需要创建socket对象。区别在于,UDP中只有发送端和接收端,不区分客户端与服务器端,计算机之间可以任意地发送数据。而TCP通信是严格区分客户端与服务器端的,在通信时,必须先由客户端去连接服务器端才能实现通信,服务器端不可以主动连接客户端,并且服务器端程序需要事先启动,等待客户端的连接。

以上是关于UDP同通信好还是Tcp的好的主要内容,如果未能解决你的问题,请参考以下文章

00106_TCP通信

网络通信时选择基于TCP/IP协议 还是 UDP/IP协议?

TCP协议

网络编程——TCP协议和通信

第3章 TCP协议

C++基于TCP和UDP的socket通信