Delphi中用UDP传送100M左右文件 如何使用UDP实现文件的传送100M 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 在局域网内完全可以用UDP控件实现,用UDP每次发1K的包,就可以实现。思路是这样的,具体的实现可以查阅。 约定好数据块大小,然后分段发送文件数据,接收方组装接收到的数据由于是用UDP,还需要考虑丢包重传的问题,数据包格式可以参照下例 TMsgFile = record FileName: string[64]; FileID: DWORD; //用于收发双方标识文件 FileSize: DWORD; //文件总长度 DataIndex: DWORD; //文件数据片索引,用于分段发送/接收组装文件 DataSize: DWORD; //本包中发送的文件数据大小 FileData: DWORD; //作为文件数据的起始位置,数据长度由文件大小决定 end; 欢迎广大Delphi爱好者到《delphi专题研讨会》到QQ群7568683讨论 欢迎广大Delphi爱好者到《delphi专题研讨会》到QQ群7568683讨论 delphi 程序的发布 有没有想做兼职的? DELphi 单元文件中定义一个类出现错误 求助。。 agent动画人物speak信息提示框显示的时间设置问题? 怎样用TPaintBox在一个控件上画图,才不会被刷新掉?? 怎样才能防止一个onkeydown事件被多次触发 第三方控件 又有一小小问题要麻烦大家啦! 怎样在Delphi中指定select语句的字段别名?? INSTALL SHIELD FOR DELPH 哪里有啊?是不是还需要安装? 如果计算按键的次数,哪位大侠指点下啊! 在线智能升级——高手指教
思路是这样的,具体的实现可以查阅。
由于是用UDP,还需要考虑丢包重传的问题,数据包格式可以参照下例
TMsgFile = record
FileName: string[64];
FileID: DWORD; //用于收发双方标识文件
FileSize: DWORD; //文件总长度
DataIndex: DWORD; //文件数据片索引,用于分段发送/接收组装文件
DataSize: DWORD; //本包中发送的文件数据大小
FileData: DWORD; //作为文件数据的起始位置,数据长度由文件大小决定
end;
讨论
讨论