温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Python开发TCP和UDP的区别是什么

发布时间:2021-08-27 17:35:44 来源:亿速云 阅读:163 作者:chen 栏目:编程语言

这篇文章主要介绍“Python开发TCP和UDP的区别是什么”,在日常操作中,相信很多人在Python开发TCP和UDP的区别是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Python开发TCP和UDP的区别是什么”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!


  UDP 概念:


  UDP 是面向无连接的通讯协议,UDP 数据包括目的端口号和源端口号信息。


  优点:UDP 速度快、操作简单、要求系统资源较少,由于通讯不需要连接,可以实现广播发送


  缺点:UDP 传送数据前并不与对方建立连接,对接收到的数据也不发送确认信号,发送端不知道数据是否会正确接收,也不重复发送,不可靠。


  TCP 概念:


  TCP 是面向连接的通讯协议,通过三次握手建立连接,通讯完成时四次挥手


  优点:TCP 在数据传递时,有确认、窗口、重传、阻塞等控制机制,能保证数据正确性,较为可靠。


  缺点:TCP 相对于 UDP 速度慢一点,要求系统资源较多。


  TCP与UDP区别:


  1.、基于连接vs无连接


  TCP是面向连接的协议,而UDP是无连接的协议。这意味着当一个客户端和一个服务器端通过TCP发送数据前,必须先建立连接,建立连接的过程也被称为TCP三次握手。


  2、 可靠性


  TCP提供交付保证,这意味着一个使用TCP协议发送的消息是保证交付给客户端的,如果消息在传输过程中丢失,那么它将重发。UDP是不可靠的,它不提供任何交付的保证,一个数据报包在运输过程中可能会丢失。


  3、有序性


  消息到达网络的另一端时可能是无序的,TCP协议将会为你排好序。UDP不提供任何有序性的保证。


  4、速度


  TCP速度比较慢,而UDP速度比较快,因为TCP必须创建连接,以保证消息的可靠交付和有序性,他需要做比UDP多的事。这就是为什么UDP更适用于对速度比较敏感的应用。TCP适合传输大量数据,UDP适合传输少量数据。


  5、重量级vs轻量级


  TCP是重量级的协议,UDP协议则是轻量级的协议。一个TCP数据报的报头大小最少是20个字节,UDP数据报的报头固定是8个字节。TCP报头中包含序列号,ACK号,数据偏移量,保留,控制位,窗口,紧急指针,可选项,填充项,校验位,源端口和目的端口。而UDP报头只包含长度,源端口号,目的端口号,校验和。


  6、流量控制和拥塞控制


  TCP有流量控制和拥塞控制。UDP没有流量控制和拥塞控制。


  7、TCP是面向字节流,UDP是面向报文的


  TCP是字节流的协议,无边界记录。


  UDP发送的每个数据报是记录型的数据报,所谓的记录型数据报就是接收进程可以识别接收到的数据报的记录边界。


  8、TCP只能单播,不能广播和组播;UDP可以广播和组播


  TCP应用场景:效率要求相对低,但对准确性要求相对高的场景。因为传输中需要对数据确认,重发,排序等操作,相比之下效率没有UDP高。举几个例子:文件传输、邮件传输、远程登录。


  UDP应用场景:效率要求相对高,对准确性要求相对低的场景。举几个例子:QQ聊天、QQ视频,网络语音电话(即时通讯,要求速度高,但是出现偶尔断续不是太大问题,并且此处完全不可以使用重传机制)、广播通信。

到此,关于“Python开发TCP和UDP的区别是什么”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI