赞
踩
TCP协议(Transmission Control Protocol,传输控制协议)为应用层提供可靠的、面向连接的和基于流(stream)的服务。使用超时重传、数据确认等方式来确保数据包被正确发送至目的地。
UDP(User Datagram Protocol,户数据报协议)是无连接的,面向消息的数据传输协议,与TCP相比,有两个致命的缺点:
(1)数据包容易丢失;
(2)数据包无序。
UDP是传输层的协议,不可靠,如果物理层,数据链路层或网络层能提供可靠性的话,那么UDP就可以利用下面各层的可靠性实现自己的可靠性;然而,UDP是不可靠的,也就是说它下面的各层并不能保证UDP可靠性,所以只能靠上面的应用层来保证可靠性。所以必须制定上层的协议,包括:流控机制、超时机制、重排机制、重传机制。
目前最常用的两个协议就是TCP和UDP,通过它们两个的特性能发现互有缺点,在不同场景可以选择不同的协议去通信,随着网络的传输速度越来越快,5G时代的到来,以前一直被我们诟病的UDP也逐渐被挖掘其价值,特别是在实时性要求很高的应用里面,UDP显得尤不可缺,随口说一句,像《王者荣耀》这种实时性游戏,UDP在里面发挥着巨大的作用,只不过为了保证UDP的可达和有序,腾讯对UDP进行了补充,不过要想能随意的就能对这种通用协议进行改动和补充这可是需要非常强大能力水平,例如BAT这种一线大厂。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。