保持FTP连接打开,直到完成工作

时间:2012-04-16 07:01:11

标签: c# ftp keep-alive

我有从FTP服务器连续下载相同文件的程序,让我说3个小时。每次使用新数据填充服务器文件时。所以我不想在这3小时内连接和断开连接到ftp。我想打开那个连接,并保持活着,直到工作完成。请提出建议。

System.Net.FtpWebRequest tmpReq = (System.Net.FtpWebRequest)System.Net.FtpWebRequest.Create("ftp:MYURL");

tmpReq.Credentials = new System.Net.NetworkCredential("userid", "password");

using (System.Net.WebResponse tmpRes = tmpReq.GetResponse())
{
    using (System.IO.Stream tmpStream = tmpRes.GetResponseStream()) 
    {    
    using (System.IO.TextReader tmpReader = new System.IO.StreamReader(tmpStream))
                {
                    ServerFileContents = tmpReader.ReadToEnd();
                }
        }
}

1 个答案:

答案 0 :(得分:0)

您可以定期发送NOOP命令,以避免远程计算机关闭连接。

为此,您需要一个为程序提供FTP功能的实例或静态类,它在程序启动时打开连接,在完成后关闭它,用计时器或其他命令执行(NOOP)命令线程。