赞
踩
TCP: 一种面向连接的、可靠的、基于字节流的传输层通信协议。
UDP:一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务。
UDP具有较好的实时性 适用场景:短消息,多客户端,对信息可靠性要求不高,对效率要求高。每一条TCP是点对点的,UDP支持更广泛 一对一,多对一,多对多。TCP对资源要求较高,UDP对资源要求较少。TCP面向数据流, UDP面向数据报。
区别:
TCP应用场景:
效率要求相对低,但对准确性要求相对高的场景。因为传输中需要对数据确认、重发、排序等操作,相比之下效率没有UDP高。举几个例子:文件传输(准确高要求高、但是速度可以相对慢)、接受邮件、远程登录。
UDP应用场景:
效率要求相对高,对准确性要求相对低的场景。举几个例子:QQ聊天、在线视频、网络语音电话(即时通讯,速度要求高,但是出现偶尔断续不是太大问题,并且此处完全不可以使用重发机制)、广播通信(广播、多播)。
补充:视频使用TCP还是UDP
1. 网页上的视频是基于HTTP/HTTPS,传输层是TCP
2. QQ视频聊天等是基于UDP
3. 甚至有的应用使用p2p协议,传输层应该也是TCP
4. 通过http进行流化视频有很多种方法
5. 传输视频还有很多其他的应用层协议
一方面,在网页上看视频可以忍受缓冲5s看到更清楚的视频,所以用TCP问题不大,在网络情况较好的情况下更是如此。视频聊天时绝不能容忍等待5s才听到对方的回话,所以用UDP更合适。
TCP协议保证数据传输可靠性的方式主要有:
校验和
序列号
确认应答
超时重传
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。