DELPHI网络文件传输控制例程
6页1、【程序说明】P2P(点对点)的流行产生了大批网络传输软件,这里我们要介绍的就是自己写一个简单的P2P文件传输,一方发送文件,一方接受,直到传输完整个文件。程序运行效果如图所示。服务器端:图客户端:图由服务器端负责发送文件,客户端接受。【编程思路】利用TCP协议连接双方,服务器端建立文件流读入待发送文件进入监听状态,客户端发送信号开始传输,服务器根据客户端发送的当前文件流传输位置按接收缓冲区大小一块一块的发送给客户端,客户端接受后再保存到接收文件流,直到整个文件流发送完毕,这里服务器端使用TIdTCPServer组件,客户端对应的使用TIdTCPClient组件。【编程步骤】1.启动Delphi7,建立一个标准的Application,首先我们来做服务器端,。2.按图放置如下组件:图将项目保存Server目录下,取名为Server.dpr,单元取名为U_Server.pas。3.然后我们再来看看客户端,这里由于我们实际上是做了两个程序(服务器端和客户端),因而引入一个新的概念:项目组(Project Group),使用项目组我们很方便的同时调试两个以上的程序,也因为如此,我们上面才需要更
2、改项目名,单元名以区分服务端和客户端,使用项目组功能首先我们找到DELPHI的IDE菜单的View项,打开Project Manager(Ctrl+Alt+F11)即可看到一个项目组管理窗口,其中已经有我们刚才建立的Server.exe了,现在我们New新建一个标准的Application项目,按照下图放置组件:图将项目保存在Client目录下,取名Client.dpr,单元名U_Client.pas,现在我们可以看到,项目组窗口中多了一个Client.exe项目,其中项目名黑色加粗表示当前激活的项目。以上组件除了Tlabel组件、Tbutton组件修改标题和StatusBar1修改SimplePanel为True外全部使用默认属性,属性列表我们这里就省略了。4.编写代码:首先来看服务器端,浏览文件将文件名传给Edit1:procedure Tfrm_Server.Button1Click(Sender: TObject);begin if OpenDialog1.Execute then Edit1.Text := OpenDialog1.FileName;end;然后进入传输状态:
3、procedure Tfrm_Server.Button2Click(Sender: TObject);begin if not FileExists(Edit1.Text) then /检测文件是否存在 begin Showmessage(文件不存在,请选择文件!); exit; end; /建立文件流 AFileStream := TFileStream.Create(Edit1.Text, fmOpenRead); ProgressBar1.Max := AFileStream.Size; /初始化进度条的最大值 ProgressBar1.Position := 0; ButtonBegin; /VCL开始状态设置 /服务器准备好连接 IdTCPServer1.DefaultPort := StrToIntDef(Edit2.Text, 9925); if not IdTCPServer1.Active then IdTCPServer1.Active := True;end;其中IdTCPServer1.Active := True即让服务器端听入监听状态,结束后取消此状态,实
4、际上我们也可以程序一运行就让他开始监听,在进入监听状态前我们首先要设置服务器监听使用的端口:IdTCPServer1.DefaultPort := StrToIntDef(Edit2.Text, 9925);这句就设置了端口为Edit2的值,转换文本到数字失败就使用默认9925端口。ButtonBegin是我们自己写的一个过程,目的是改变一些按钮的可操作状态,例如传输过程中不允许在选择文件等:procedure Tfrm_Server.ButtonBegin;begin /VCL开始状态设置 Button1.Enabled := False; /不可浏览 Button2.Enabled := False; /不可发送 Button3.Enabled := True; /可以取消 Button4.Enabled := False; /不可退出end;这种方法在组件很多,需要限定很多组件的状态时可以使程序可读性更好,也方便多次调用,同样后面用到的ButtonEnd过程也是一样,在取消按钮代码中:procedure Tfrm_Server.Button3Click(Sender: TObje
《DELPHI网络文件传输控制例程》由会员s9****2分享,可在线阅读,更多相关《DELPHI网络文件传输控制例程》请在金锄头文库上搜索。
2017年一级建造师建筑实务练习题及答案
企业如何进行组织结构优化和员工能力提升
2274520920施工企业财务管理流程
施工组织设计毕业设计
五年级下册数学教案9页5题模板
2021年幼儿园年终体育活动总结
电动剃须刀项目可行性研究报告申请备案立项
2022年四年级语文下册第一单元复习题(人教版)-四年级语文试题
徐州高二地理
精选类七年级生物上学期期末复习二无答案人教新课标版
幼儿园小班科学教案反思《神奇的草垫子》
县统计局年度工作总结
辽宁省抚顺市六校2019-2020学年高二数学上学期期末考试试题
2019年中考物理专项练习(选择题)质量与密度(含解析).doc
卫生院护士节活动总结(二篇).doc
应聘时最有可能问到问题及答案解析应聘前必读2
个人业务工作总结
农村土地转让合同书
濮阳氢氧化镍项目建议书(模板范文)
2022质量保证书(汇编)
2022-12-29 16页
2023-11-25 2页
2022-10-24 3页
2023-01-27 35页
2023-02-22 2页
2023-07-30 3页
2024-01-06 55页
2023-10-15 7页
2023-02-05 11页
2023-09-06 8页