- 1、本文档共5页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
用结构体实现的文件传输Delphi Record 客户端
用结构体实现的文件传输Delphi Record 客户端 -- 服务端 UDP 发送图片
{服务器接收客户端传来的图片
这是用结构体实现的文件传输}/////////////////////////////Server端//////////////////////////unit Server;
interface
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls, StdCtrls, Buttons, IdBaseComponent, IdComponent, IdUDPBase, IdUDPServer, ExtDlgs,IdSocketHandle;type TFilePack=record FileName:array[0..99] of Char; FileSize:Integer; PosiBegin:Integer; PosLen:Integer; Buf:array[0..2047] of Byte; end;type TFrmServer = class(TForm) img1: TImage; IdUDPServer1: TIdUDPServer; SaveDialog1: TSaveDialog; lbl1: TLabel; procedure FormCreate(Sender: TObject); procedure IdUDPServer1UDPRead(Sender: TObject; AData: TStream; ABinding: TIdSocketHandle); private FileName:string; //图片路径 ,名称 Stream:TFileStream; //内存流 FileSize:Integer; //图片大小 Posi:Integer; //文件传输时,内存读取的当前位置 FilePack1:TFilePack; { Private declarations } public { Public declarations } end;
var FrmServer: TFrmServer;
implementation
{$R *.dfm}
procedure TFrmServer.FormCreate(Sender: TObject);begin IdUDPServer1.DefaultPort:=6666; IdUDPServer1.Active:=True; end;
procedure TFrmServer.IdUDPServer1UDPRead(Sender: TObject; AData: TStream; ABinding: TIdSocketHandle);var Str:string;begin AData.Seek(0,0); AData.ReadBuffer(FilePack1,AData.Size); FileName:=FilePack1.FileName;// ShowMessage(FileName); FileSize:=FilePack1.FileSize;
SaveDialog1.FileName:=FileName; if FilePack1.PosiBegin=0 then //当一个文件的第一个包传来时 begin if SaveDialog1.Execute then FileName:=SaveDialog1.FileName; if FileExists(FileName) then DeleteFile(FileName); if not FileExists(FileName) then begin Stream:=TFileStream.Create(FileName,fmCreate or fmOpenReadWrite); end; lbl1.Caption:=准备接收...; end;
if FilePack1.PosiBeginFileSize then begin Stream.Seek(0,2); Stream.Wri
您可能关注的文档
- 常用函数作图画板.doc
- 2011---2015高考英语真题短文改错及答案.doc
- 加拿大安大略省十年级数学试卷 英文.doc
- 2015年6月英语六级作文范文.docx
- 江苏省如皋市2016届九年级英语毕业升学模拟试题.doc
- 英语词汇-银行和货币.doc
- ansys接触定义.docx
- 10月考试文科数学(题卷).docx
- 60天托福词汇_TOEFL_Vocabulary(1-60day).doc
- 小学英语教师招考试卷.doc
- 物流与运输优化:智能调度系统_(9).人工智能与机器学习在智能调度中的角色.docx
- 需求预测:集成学习方法_(7).集成学习模型构建.docx
- 物流与运输优化:运输模式优化_(11).案例分析与实践.docx
- 物流与运输优化:智能调度系统_(6).实时调度与动态优化.docx
- 需求预测:多变量预测_17.预测模型的实施与维护.docx
- 需求预测:机器学习模型_(11).需求预测模型的部署与维护.docx
- 需求预测:集成学习方法_(4).需求预测基础.docx
- 物流与运输优化:智能调度系统_(5).智能优化算法在物流中的应用.docx
- 需求预测:集成学习方法_(1).集成学习方法概述.docx
- 需求预测:深度学习模型_(1).需求预测概述.docx
文档评论(0)