linux udp 如何发数据包 我要发送一个5M左右的数据,如何实现分片发送 或者分包发送??
展开全部
这个- - 肯定得自定义私有报文头,然后组装了。
感觉楼主好像还是新手,很难简单讲清楚啊。
我们说说比如某个下载软件的udp私有协议,里面还设计了udp层的3次握手,丢包请求等等。
如果你不考虑丢包,不考虑身份验证,假设全部能收到,那么肯定也得设计一个顺序字段。
报文头(标志、序号)
把数据分割更1024字节的小段,每个小段都带着报文头出去,
接收端收到后,根据报文头的序号,剔除掉报文头,把后面每个小段的内容重新组合成5m的时间数据。
不知道你听明白了没有- - 如果有编程基础,实际编程中,不用讲自己就明白了,如果没有基础,的确挺难说明白的
感觉楼主好像还是新手,很难简单讲清楚啊。
我们说说比如某个下载软件的udp私有协议,里面还设计了udp层的3次握手,丢包请求等等。
如果你不考虑丢包,不考虑身份验证,假设全部能收到,那么肯定也得设计一个顺序字段。
报文头(标志、序号)
把数据分割更1024字节的小段,每个小段都带着报文头出去,
接收端收到后,根据报文头的序号,剔除掉报文头,把后面每个小段的内容重新组合成5m的时间数据。
不知道你听明白了没有- - 如果有编程基础,实际编程中,不用讲自己就明白了,如果没有基础,的确挺难说明白的
追问
这些我也明白,只是不知道如何把一段数据分割成若干个段,和服务器接收这么多段后如何再把这些段拼接在一起。 报文头和丢包的处理我多少还是有思路解决的。
追答
- - 实现这个不是比理解更容易吗?如何拼接?不就是memcpy每个小块到一个缓冲区的不同位置里面麽。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询