UDP和TCP是我们最常用的两种通信方式,下面就两者之间的特点做一个对比:
1、UDP主要用在实时性要求高以及对质量相对较弱的地方,如流媒体。
2、TCP既然是面向连接的,那么运行环境必然要求其保证可靠性,具有不可丢包、有良好的拥塞控制机制,如http ftp telnet。
3、TCP容易阻塞,UDP容易丢包。
4、TCP是保证质量不保证速度,UDP保证速度但不保证质量。
5、TCP耗系统资源多,UDP耗系统资源少。
6、TCP需要应用层做消息定界,而UDP不需要。
7、对于需要保证可靠性的应用,在UDP的基础上再实现轻量级错误重传机制是一种折中的做法,这样既像UDP那样方便使用又能像TCP那样满足可靠性要求。