linux udp 如何发数据包 我要发送一个5M左右的数据,如何实现分片发送 或者分包发送??

linux udp 如何发数据包 我要发送一个5M左右的数据,如何实现分片发送 或者分包发送??,第1张

这个- - 肯定得自定义私有报文头,然后组装了。

感觉楼主好像还是新手,很难简单讲清楚啊。

我们说说比如某个下载软件的udp私有协议,里面还设计了udp层的3次握手,丢包请求等等。

如果你不考虑丢包,不考虑身份验证,假设全部能收到,那么肯定也得设计一个顺序字段。

报文头(标志、序号)

把数据分割更1024字节的小段,每个小段都带着报文头出去,

接收端收到后,根据报文头的序号,剔除掉报文头,把后面每个小段的内容重新组合成5m的时间数据。

不知道你听明白了没有- - 如果有编程基础,实际编程中,不用讲自己就明白了,如果没有基础,的确挺难说明白的

UDP协议全称是用户数据报协议,在网络中它与TCP协议一样用于处理数据包,是一种无连接的协议。在OSI模型中,在第四层--传输层,处于IP协议的上一层。UDP有不提供数据包分组、组装和不能对数据包进行排序的缺点,也就是说,当报文发送之后,是无法得知其是否安全完整到达的。UDP用来支持那些需要在计算机之间传输数据的网络应用。包括网络视频会议系统在内的众多的客户/服务器模式的网络应用都需要使用UDP协议。UDP协议从问世至今已经被使用了很多年,虽然其最初的光彩已经被一些类似协议所掩盖,但是即使是在今天UDP仍然不失为一项非常实用和可行的网络传输层协议。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11997758.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存