Tag: 多个文件

在C#中FTP多个文件而不重新建立连接

FTP协议旨在支持控制通道,并使用该控制通道告诉服务器打开TCP连接和传输文件。 发送或接收文件的服务器不必与FTP控制通道所连接的服务器相同。 它可以是“三角形”类型的连接。 它还允许客户端在控制通道上登录一次,并反复告诉服务器传输文件,而无需重新登录控制通道。 显然,这个概念在创建C# FtpWebRequest类时完全逃脱了MS。 我需要完全按照FTP协议的设计来做: 连接到服务器 传递凭据 创建目录(并愉快地忽略’已存在’错误) 反复将文件传输到服务器 退出控制通道 我确定在FtpWebRequest类中没有看到这种能力。 或任何看似允许C#代码中的那种流的东西。 我看了看: 在https://social.msdn.microsoft.com/Forums/vstudio/en-US/9e14bc29-25bf-45ec-9303-1d8ffda2064d/c-ftp-send-multiple-files-log-in-only-once?forum = csharpgeneral 并在c#中将多个文件上传到FTP 和别的。 但是,这似乎都不允许控制方式。 我可以指定KeepAlive属性,但循环必须重复调用WebRequest.Create(targetName); function,它将创建一个新连接,并获得一个新的响应。 然后它们会超出范围或成为孤儿,因此根据定义,它们会被销毁。 因此必须关闭连接,然后必须重新打开。 对于数据连接,没关系,但操作CONTROL端口的能力在哪里? 该类不允许用户区分CONTROL端口和DATA端口,如FTP规范所定义。 有没有办法使用C#类以它的方式进行FTP? 因为在微软狭隘的思维模式中,整个世界看起来像是一个HTTP Get / Response协议。 任何建议表示赞赏。 -Scotty