论文无忧网提供:计算机毕业论文范文|计算机毕业设计|计算机毕业论文
栏目导航 ASP Java Web .NET VB6.0 JAVA VC VF DELPHI PB 计算机网络 计算机科学与技术 PHP 安卓APP 其他 C# 代写论文
当前位置: > 计算机 > 计算机科学与技术 >

基于局域网的文件传输系统(论文+程序)

服务器端将收到的文件流重组以后通过Delphi组件SaveDialog设置保存路径并保存到本地文件夹,其源代码如下: paper51.com

http://www.paper51.com

Procedure tform1.UMRcvfile(var msg:tmessage); //保存文件 内容来自论文无忧网 www.paper51.com

var   filename:pchar;

内容来自www.paper51.com

begin

http://www.paper51.com

filename:=pchar(msg.WParam);             savedialog1.FileName:=string(filename);    //保存文件名 内容来自www.paper51.com

if savedialog1.Execute then http://www.paper51.com

move (SaveDialog1.filename[1],filename^,length(SaveDialog1.FileName); 

内容来自论文无忧网 www.paper51.com

end;

http://www.paper51.com

4.3.3   局域网内文件夹传输

内容来自论文无忧网 www.paper51.com

在人们的日常生活中,很多时候不仅仅需要进行单个文件的共享,而是需要进成百上千个文件组成的文件夹的共享。但是用户不可能进行一次又一次的单文件的传送,不但浪费时间,而且很不值得。所以这个时候我们需要对整个文件夹都进行传输。这样就可以避免一个文件夹中的大量文件重复进行多次单文件的传输,很大程度上减少了用户的工作量,从而有效地提高工作效率。其过程同样的分为服务器与客户口端两部分:首先是客户口端向服务器发送连接请求,服务器响应后建立连接实现文件传输。具体过程如下:

paper51.com

1)客户端请求建立连接并发送文件夹

copyright paper51.com

用户选择文件夹接收者后点击“文件夹传输”按钮。如果用户忘记选择文件接收者,系统弹出提示框“请选择消息接收者”,然后打开本地文件路径,并将本地文件夹路径得出来。 内容来自www.paper51.com

内容来自www.paper51.com

procedure TForm1.Bitbtn3Click(Sender: TObject); 内容来自www.paper51.com

var    dir:string;

内容来自论文无忧网 www.paper51.com

      tempItem:TListItem;

http://www.paper51.com

      Rdir:stringarray;

内容来自www.paper51.com

      i:integer;

paper51.com

begin paper51.com

      POSI:=0; 内容来自www.paper51.com

     tempItem:=UserList.Selected;

copyright paper51.com

  if (not assigned(tempItem)) or (tempItem=nil) then

内容来自论文无忧网 www.paper51.com

  begin 内容来自论文无忧网 www.paper51.com

     MessageBox(self.Handle ,'请选择消息接收者!','提示',0); paper51.com

     exit; paper51.com

  end;

http://www.paper51.com

     toip:=trim(tempitem.SubItems.Strings[1]);

内容来自www.paper51.com

         Dir := '';

copyright paper51.com

   copyright paper51.com

      内容来自www.paper51.com

    

内容来自论文无忧网 www.paper51.com

http://www.paper51.com

  if SelectDirectory('目录文件夹','我的电脑',Dir)=true then paper51.com

     begin

内容来自www.paper51.com

       rdir:=split(dir,'\');

paper51.com

       remotefilename:='';

内容来自www.paper51.com

                      for i:=0 to high(rdir)-1 do

paper51.com

begin

copyright paper51.com

            remotefilename:=remotefilename+rdir[i]; //E:\due\why\ee.txt

http://www.paper51.com

            remotefilename:=remotefilename+'\';

paper51.com

                              end; paper51.com

dir:=dir+'\'; paper51.com

     tsendfilethread.createThread(toip,dir);

copyright paper51.com

     end; 内容来自www.paper51.com

end;

copyright paper51.com

文件夹选取以后调用tsendfilethread.createThread(toip,dir)建立文件夹传输流,其源代码如下: 内容来自论文无忧网 www.paper51.com

http://www.paper51.com

constructor TsendFilethread.createThread(IP:string;localdir:string); 内容来自论文无忧网 www.paper51.com

begin 内容来自www.paper51.com

    FIP:=IP; paper51.com

    Flocaldir:=localdir;

paper51.com

   // Fremotename:=remotename; http://www.paper51.com

  //  Fcount:=count;

内容来自论文无忧网 www.paper51.com

    freeonterminate:=true;

http://www.paper51.com

    inherited create(false);

内容来自www.paper51.com

end;

copyright paper51.com

------分隔线----------------------------
联系方式