为什么说UDP比TCP更有优势?

UDP以其简单、传输快的优势,在越来越多的场景下取代了TCP,如实时游戏。

(1)网速的提升给UDP的稳定性提供了可靠的网络保障,丢包率很低,如果使用应用层重传,能够确保传输的可靠性。

(2)TCP为了实现网络通信的可靠性,使用了复杂的拥塞控制算法,建立了繁琐的握手过程,由于TCP内置的系统协议栈中,极难对其进行改进。

(3)采用TCP,一旦发生丢包,TCP会将后续的包缓存起来,等前面的包重传并接受到后再继续发送,延时会越来越大,基于UDP对实时性要求较为严格的情况下,采用自定义重传机制,能够把丢包发生的延迟降到最低,尽量减少网络问题对游戏等应用造成影响。

为什么像即时通讯会选用UDP?而不是采用TCP进行实现?

因为UDP的端口通信机制。TCP连接的端口一般是有限的,而即时通讯,向视频转播需要对很多人进行视频的转发,而TCP的端口是不够的,UDP可以一对一,一对多。 

猜你喜欢

转载自blog.csdn.net/weixin_47887421/article/details/124029130