什么情况下适合用UDP协议,什么情况下适合用TCP协议?
来源:互联网 发布:淘宝评价网站 编辑:程序博客网 时间:2024/05/01 07:04
总的来说
TCP协议提供可靠的服务,
UDP协议提供高效率的服务。
高可靠性的TCP服务提供面向连接的服务,主要用于一次传输大量报文的情形,
如文件传输,远程登录等;
高效率的UDP协议提供无连接的数据报服务,用于一次传输少量的报文。
即使发生传输错误,也可以重新传输并且不会为此付出多少代价。
TCP提供的是面向连接的、可靠的数据流传输,可避免数据传输错误。
面向连接的协议在任何数据传输前就建立好了点到点的连接。
而UDP提供的是非面向连接的、不可靠的数据流传输。当一个UDP数据包在网络中移动时,
发送过程并不知道它是否到达了目的地,除非应用层已经确认了它已到达的事实。
当数据传输的性能必须让位于数据传输的
完整性、
可控制性
可靠性时,
TCP协议是当然的选择。
当强调传输性能而不是传输的完整性时,
如:音频和多媒体应用,
UDP是最好的选择。
在数据传输时间很短,以至于此前的连接过程成为整个流量主体的情况下
UDP也是一个好的选择
,如:DNS交换。把SNMP建立在UDP上的部分原因是设计者认为当发生网络阻塞时,
UDP较低的开销使其有更好的机会去传送管理数据。
总结 tcp 提供可靠的服务 若强调 完整性 可靠性可控性 选择tcp
udp 提供高效的服务 若强调 传输性能 选择udp
TCP:
面向连接、传输可靠(保证数据正确性,保证数据顺序)、
用于传输大量数据(流模式)、速度慢,建立连接需要开销较多
(时间,系统资源)。
UDP:面向非连接、传输不可靠、用于传输少量数据(数据包模式)、速度快。
1 0
- 什么情况下适合用UDP协议,什么情况下适合用TCP协议
- 什么情况下适合用UDP协议,什么情况下适合用TCP协议?
- 什么情况下适合用UDP协议,什么情况下适合用TCP协议?
- 管理QQ群,什么情况下适合用软件
- 什么情况下适合使用Hbase
- 什么情况下适合在knockout项目中应用KOMapper
- DNS分别在什么情况下使用UDP和TCP
- 什么情况下用指针?
- 什么情况下用递归?
- 什么情况下用缓存?
- 什么情况下用MongoDB
- 什么情况适合执行自动化测试
- 《Oracle编程艺术》学习笔记(31)-什么情况下适合使用B*树索引
- foreach适合在什么情况下使用+foreach的内部原理剖析
- 什么是回调函数?回调函数适合在什么情况下使用?
- 在什么情况下用new
- 什么情况下用retain和copy
- 什么情况下用retain和copy .
- python中编码问题——unicode, gbk, utf8
- ExecutorService线程池的使用
- 【java】java中向上转型和向下转型相关知识
- 笔记
- C++好书列表
- 什么情况下适合用UDP协议,什么情况下适合用TCP协议?
- Linux 获得机器的IP和网卡信息
- c++问题之--This function or variable may be unsafe. Consider using sprintf_s instead
- ES的操作的整理1
- 欢迎使用CSDN-markdown编辑器
- 十进制数转换其他进制数
- delays - Information on the various kernel delay / sleep mechanisms
- 括号匹配
- 阿里和微博的异地多活方案zt