shadowrocket入门
直播系统代码可以选择的协议有很多,多到让运营商不知道如何选择,在众多协议中有两个协议比较突出,一个是UDP协议一个是TCP协议,在协议的对比下,TCP协议成为直播系统代码以及短视频、一对一等娱乐平台最常用的协议,不过这不代表着它就是最优秀的,关于协议的选择,其实还是要看最终的应用场景。
1、在某次传输任务中,直播系统代码需要传递一个画质低、声音并不怎么清晰地小数据包,使用UDP协议很快就完成了传输,但如果使用TCP协议,需要先建立链接,建立后再传输内容,建立完成后还需要拆除掉建立的链接,不仅传输时间增长,还增加了传输的开销。
2、由于TCP协议的可靠性强,对于直播系统代码来说,适配更多的机型和同时可以服务更多的用户是首要任务,专用于一对一场景下的应用,其实很适合用UDP协议,因为传输速度快,而且一对一的情况下传输更稳定,有效保证了使用体验。
1、UDP协议没有缓存,也就是说,用户端和主播端是直接连接的实时状态,没有了缓存区意味着不会出现信息拥堵的现象,当用户端网速不好时,往往被缓存的内容会出现堵塞,导致应用端需要先去处理要发送的数据和发送的时间,网络中的拥堵控制并不会影响主播端的发送,也就是说这个拥堵可能会越来越大,导致用户观看时,卡了恢复后直播会突然快进一下。
2、UDP协议抗丢包率能力强,当用户端的网络情况不好时,丢包是肯定的,TCP协议下的丢包会因为网络情况越来越严重,而UDP协议则会抗住丢包继续为用户提供流畅的直播,它的抗丢包率可以达到30%-40%。
对比之下可以看出,当需要保证实时性时,直播系统代码可以应用UDP协议,当需要同时面对多个用户请求时,一对多服务下,TCP协议的优势更加明显。不过需要注意的是shadowrocket入门,直播系统代码大多数都是面对多人的直播场景,用到UDP协议的次数比较少,所以在选择上不用太纠结,TCP协议足够了。