VB 对方用UDP协议传输数据,112ms发送一个数据包,数据包122848字节大,数据包拆包发送,共分为349帧发,我应该怎么接收呢
对方用UDP协议传输数据,112ms发送一个数据包,数据包122848字节大,他把数据包拆包发送,共分为349帧发,我应该怎么接收呢?
UDP接收的数据包,不一定是按发送顺序收到的,所以要先缓存,最后才能拼接。
如果固定帧数,那就定义一个固定大小的数组,每接收一个,然后写到对应序号的元素里,最后确认所有的数据包都接收完成了,再拼接起来。
如果每帧数据大小是固定的,也可以直接写临时文件,写到指定位置去,所有的位置都完了,则说明数据接收完成了。
如果二个都不固定,那就只能收到一个包,写一个临时文件,每个临时文件都编号,最后拼接。或者使用动态数组保存。数据量大的,临时文件,数据量小的,动态数组。