前景
最近在用c#尝试做一个 远程监控的软件 是屏幕截图+UDP发送 UDP 速度快 可能会丢失数据 接收到的顺序和发送的顺序可能不一样 因为是监控允许丢失少量的数据 既然是监控发送的速度一定不能太慢 所以我用了 UDP 没用TCP UDP每次发送的长度有限 哪怕是一张图片也要分包发送
问题
我连续不停的分包发送图片,在接收到的数据包顺序是混乱的 区分不出那些数据包是属于同一张图片的???? 只有区分出来了我才能把它们重组出来(有人给我说给每个数据包加标志 如果标志一样就是同一张图片的包 如果这样标志肯定是唯一的 但是这些很多很多图片发送 不知道怎么去加这样的标志)。
备注
本人一菜鸟 想法也许有错 有错还希望大牛指正
不要说UDP,TCP也一样,也涉及到分包重组的问题。你可以在每个数据包可以这样定义:
struct package
{
文件标识
偏移量
数据段
};
文件标示应该是唯一的吧 那么多的文件发送 怎么保证标示是唯一的呢
@浣花溪: 比如可以生成一个GUID,直接用GUID,或者使用GUID的HASH值。总之就是用最小的代价来得到一个随机不重复的值。