TCP(Transmission Control Protocol 传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议
UDP 是User Datagram Protocol,即 用户数据报协议,一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务。
简而言之呢,两者都是一种信息传输协议,区别是tcp是可靠得,效率比udp低一些。udp不太可靠,效果高一些。
为什么这么说 呢?
tcp协议就像是送快递,快递到了没有,快递员会给你打电话确认,确认你是否收到了。所以这种方式得可靠性要高一些,但是因为每次都要打电话确认,效率速度会低一些。
udp协议就像是送报纸,送报员每天早上送报纸,往你们报箱或者门口一放就走了,不打电话确认。报纸大部分会被收到,但是避免不了一些被别人拿走,或者风挂飞得情况。但是这种效率非常得高,每天送报员可以 送很多份儿,因为不用一份一份得确认嘛。
这就是我理解得tcp和udp得出得两者得区别。
而我们知道像QQ这种大型的聊天软件却主要使用的是UDP连接,而以TCP为辅。即使是传文件,也是以UDP为主,个人认为这主要还是从服务器的角度来考虑的。首先是每一个客户实际上都是和服务器交互,再由服务器转发给正在通信的用户。如果每一个QQ从一上线到下线的这段时间全部采用TCP长连接,这对服务器的负担很大。而如果采用TCP短连接,频繁的连接断开也会造成网络负担。而采用UDP则可以避开上述这些麻烦,减少服务器的负担。