服务器一台,有固定IP客户机若干台,客户机有可能是广域网,也有可能是局域网,如何实现将客户机上的某个文件定时上传到服务器上?
用什么控件比较好?(可以手工开端口)
最好给个类似的例子,谢谢了!

解决方案 »

  1.   

    又一个固定IP就好办,呵呵
    试试用INDY控件,他的demo里面有传输文件的例子
      

  2.   

    var 
          filename,RemoteFile,path,filedir:   String; 
          idftp1:   TNMFTP; 
          S:   TSaveDialog; 
    begin 
          idftp1   :=   TNMFTP.Create(nil); 
          S   :=   TSaveDialog.Create(nil); 
          if   idftp1.Connected   then 
                  idftp1.Disconnect;       idftp1.Host   :=   '192.168.0.1 '; 
          idftp1.Port   :=   21; 
          idftp1.UserID   :=   'user '; 
          idftp1.Password   :=   'ps '; 
          try 
                  idftp1.Connect(); 
          except 
                  Messagedlg( '登陆信息错误! ',mtCustom,[mbOk],0); 
          end; 
          filename   :=   'test.txt '; 
          if   InputQuery( '改变路径 ',   '需要下载文件路径: ',   filename)   then 
          begin 
                  try 
                        Messagedlg(filename,mtCustom,[mbOk],0); 
                        filedir   :=   ExtractFileExt(filename); 
                        S.Title   :=   '文件保存为 '; 
                        S.Filter   :=   filedir; 
                        if   S.Execute   then 
                        begin 
                                path   :=   S.FileName; 
                                //case   RadioGroup1.ItemIndex   of 
                                //         0:   NMFTP1.Mode(MODE_ASCII); 
                                //         1:   NMFTP1.Mode(MODE_IMAGE); 
                                //         2:   NMFTP1.Mode(MODE_BYTE); 
                                //end; 
                                idftp1.Mode(MODE_BYTE); 
                                idftp1.Download(filename,   path); 
                        end; 
                  except 
                        Messagedlg( '下载文件没有找到,无法下载! ',mtCustom,[mbOk],0); 
                  end; 
                  S.Free; 
          end;       idftp1.Disconnect; 
          idftp1.Free; 
    end;
      

  3.   

    用TIdTcpServer控件,然后自己定义协议就可以了。
      

  4.   

    嗯,把所有的客户端都建为FTP服务器是不现实的
    还是考虑用TIdTcpServer和TIdTcpClient控件,INDY的demo有例子
      

  5.   

    去google搜索 delphi 点对点发送,应该可以找到很多例子的
      

  6.   

    盒子上就有这样的例子,我给你找了一个:http://www.2ccc.com/article.asp?articleid=3894