欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

UDP协议与TCP协议

发布时间:2023/12/14 编程问答 42 豆豆
生活随笔 收集整理的这篇文章主要介绍了 UDP协议与TCP协议 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

目录

udp协议特点

UDP传输可能遇到的问题及解决方案

TCP协议特点

TCP传输可能遇到的问题及解决方案


udp协议特点

(1)无连接

         UDP通信双方在发生数据之前是不需要进行沟通的,客户端只需要知道服务端的IP地址和端口号就可以进行发送数据

(2)传输不可靠

         不保证数据是可靠并且有序到达对端的。

(3)面向数据报

         udp对于应用层和传输层数据递交的时候都是整条数据进行交付的。

UDP传输可能遇到的问题及解决方案

(1)出现此问题的原因:udp数据报的长度是65535字节,但是如果要传输的数据大于65535字节           则在传输过程中会遇到问题。

(2)解决方法步骤:设计应用层协议(自定制协议字段)字段

         a、属于同一个应用层的数据切割成不同的块,因为udp传输不是可靠的传输,因此给不同的数据模块加上相同的id。

         b、udp传输不是有序到达对端的,在报头当中加上偏移量,使用偏移量描述分块数据在整个应用层数据包当中的位置。

         c、包头数据中加上分块数据长度。

TCP协议特点

(1)面向连接的

         TCP通信双方在发送数据之前需要先建立连接,才能够发送数据

(2)可靠传输

         TCP保证传输过程中数据是可靠有序到达对端的。

(3)面向字节流

         a、对于传输的数据之间是没有明显的边界区分的

         b、对于接受方在可以接收数据的情况下,可以接收任意字节的数据的。

TCP传输可能遇到的问题及解决方案

(1)出现问题的原因:TCP协议是面向字节流的,会在传输过程造成粘包问题,难以分清数据的           长度。

(2)解决方法:应用层自定制协议,自定制协议增加报头(数据长度)和分隔符

         a、[定长报头] + 数据信息

         b、[定长包头] + 数据信息 + 分隔符

         c、[不定长报头]  + 数据 + 分隔符

总结

以上是生活随笔为你收集整理的UDP协议与TCP协议的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。