实例五 网络文件传输 【程序说明】 P2P(点对点)的流行产生了大批网络传输软件,这里我们要介绍的就是自己写一个简单的P2P文件传输,一方发送文件,一方接受,直到传输完整个文件
程序运行效果如图所示
服务器端: 图 8
1 客户端: 图 8
2 由服务器端负责发送文件,客户端接受
【编程思路】 利用 TCP 协议连接双方,服务器端建立文件流读入待发送文件进入监听状态,客户端发送信号开始传输,服务器根据客户端发送的当前文件流传输位置按接收缓冲区大小一块一块的发送给客户端,客户端接受后再保存到接收文件流,直到整个文件流发送完毕,这里服务器端使用TIdTCPServ er 组件,客户端对应的使用 TIdTCPClient 组件
【编程步骤】 1
启动 Delphi7,建立一个标准的Application,首先我们来做服务器端,
按图放置如下组件: 图 8
3 将项目保存 Serv er 目录下,取名为 Serv er
dpr,单元取名为 U_Serv er
然后我们再来看看客户端,这里由于我们实际上是做了两个程序(服务器端和客户端),因而引入一个新的概念:项目组(Project Group),使用项目组我们很方便的同时调试两个以上的程序,也因为如此,我们上面才需要更改项目名,单元名以区分服务端和客户端,使用项目组功能首先我们找到DELPHI 的IDE 菜单的View 项,打开Project Manager(Ctrl+Alt+F11)即可看到一个项目组管理窗口,其中已经有我们刚才建立的Server
exe 了,现在我们New 新建一个标准的Application 项目,按照下图放置组件: 图8
4 将项目保存在Client 目录下,取名Client
dpr,单元名U_Client
pas,现在我们可以看到,项目组窗口中多了一个Client