Delphi中用自带的FTP控件下载文件,下载成功,但Disconnect的时候提示:10054 Connection reset by peer.系统环境是 Windows XP SP2,如果关闭防火墙,没有任何问题,但打开防火墙以后就会出现以上问题。但同样的程序在有些WinXP SP2的机器上是好的。    if frmMain.NMFTP.Connected then
      frmMain.NMFTP.Disconnect
    else
    begin
      frmMain.NMFTP.Host := m_Host;
      frmMain.NMFTP.Port := m_Port;
      frmMain.NMFTP.UserID := m_UserID;
      frmMain.NMFTP.Password := m_Password;
      frmMain.NMFTP.Connect;      frmMain.NMFTP.Download(m_Path + FileName,LocalPath + FileName);
      frmMain.NMFTP.Disconnect(); // 这行出错
    end;

解决方案 »

  1.   

    PassiveMode就OK的
    但需要服务器支持主动模式和被动模式的问题
    具体自己看RFC959协议去,或去Google的另外:最好不要使用NM的http://lysoft.7u7.net
      

  2.   

    能通过配置解决吗? 有一台机器,在使用公司的服务器时是好的,但在客户环境中就出错。其它使用Win2000或没有装MS 防火墙的机器都没问题。在客户环境中也有winxp sp2的机器能正常访问的。 这我就搞不懂到底是客户端问题还是服务器端问题了。