【问题标题】:SFTP server or FTPS Server?SFTP 服务器还是 FTPS 服务器?
【发布时间】:2017-01-30 07:43:50
【问题描述】:

我需要使用 .NET Framework 4.6.2 创建一个 C# 客户端来连接服务器。

我的客户端为我提供了连接到 SFTP 服务器或 FTPS 服务器的可能性,但我不知道哪个最适合连接。

在这个page,我发现了这个:

VCL 和 .NET 框架中没有内置的 SSH/SFTP 支持

我需要连接到服务器来上传和下载文件。我还需要监视服务器上的目录以了解文件何时在该远程目录上。

在 Internet 上搜索我不确定实现 SFTP 协议的 .NET 库 (SSHNet) 是否足以适应生产环境。

我认为 SFTP 是最好的选择,但 FTPS 可能更容易为其实现 C# 客户端。

或者,也许我可以使用libssh2 来实现一个 C 程序,该程序可以监控远程目录、下载其中的任何新文件并上传我需要上传的文件。

有什么建议吗?

【问题讨论】:

  • 以后你需要对服务器做什么样的事情?只需上传或下载单个文件,还是在这里查看完整的“FTP 客户端”功能?捆绑可执行文件是一种选择吗?
  • SFTP 和 FTPS 是具有不同功能的不同事物。它们之间的选择不仅取决于容易获得的东西,还取决于您的需求!
  • @poke 我需要连接到远程服务器来上传和下载文件。我还需要监视服务器上的目录以了解文件何时在该远程目录上。
  • @AFract 我的客户端为我提供了连接到 SFTP 服务器或 FTPS 服务器的可能性,但我不知道哪个是最好的连接方式。
  • 我已经发布了答案。我推荐 FTPS,但您的需求仍然不完全清楚。

标签: c# .net ssh


【解决方案1】:

如果这两种协议都适合您的实际需求(如您的问题和 cmets 中所建议的那样),如果只是“在 .Net 中最容易使用什么”的问题,我会选择 FTPS。

实现起来非常快,因为您可以在框架中找到所有需要的东西(“FtpWebRequest”类,或者最近的"WebClient" 等),即使在旧版本的框架上也是如此。

您可以在网上或SO 上找到大量相关资源

您提到您需要“监控”远程服务器上的文件夹。当然,使用 FTPS 检索文件夹中所有文件的列表是没有问题的,但它会处于“拉取”模式,只要你愿意就可以。每次删除新文件时,服务器本身都无法向您推送通知。因此,如果您需要一些实时通知,那并不是最佳选择。

【讨论】:

    猜你喜欢
    • 2018-07-17
    • 1970-01-01
    • 2011-10-14
    • 2013-02-12
    • 2015-02-19
    • 2011-04-27
    • 2011-01-29
    • 2012-03-20
    • 2013-09-01
    相关资源
    最近更新 更多