J
jrmd
Unregistered / Unconfirmed
GUEST, unregistred user!
我的程序是一个 C/S 架构的小程序,服务器端定期截屏,然后把截屏的图像传送到客户端。因为 Delphi 的 TNMUDP.SendBuffer() 每次只能发送 2K 的数据,多了发送操作就要失败,所以我的算法是:将每幅图像的数据分成多个帧,客户端接收到所有帧后再组合,组合完成后,再回显图像。// 帧是这样定义的:type PDataGramFrame = ^TDataGramFrame; TDataGramFrame = Record TotalLength: integer; // 数据报总长度 LengthOfCurFrame: integer; // 当前帧长度 IsLastFrame: Boolean; // 最后一帧? Data: array[0..SIZEOFPERFRAME-1] of char; // 数据区 end;现在有一个非常尴尬的问题:UDP 传送数据并不可靠!请见【图1】(论坛不能上传图片,我只好把图片放到了我的QQ空间里):服务器端截屏后将图像分解成58帧,并发送到客户端。可是,客户端在接收时第16 - 20帧、第22帧都丢失了,因接收到的图像数据不完整,导致客户端无法回显图像。各位朋友,这个问题该如何解决呢?难道传送截屏图像到对端,必须使用 TCP 连接吗?
最后编辑: