Относительно использования.Net ftp классов и пассивного режима C#
Мы все знаем, что.Net имеет классы, связанные с ftp, и я часто видел, как люди всегда используют мало свойств ftp:
wrq.KeepAlive = false;
wrq.UseBinary = false;
wrq.UsePassive = true;
Может кто-нибудь сказать мне, что означает KeepAlive
, UseBinary
& UsePassive
?
Что произойдет, когда мы установим значение true или false для указанного выше свойства, в частности, скажите мне, каково использование или значение свойства UsePassive.
Один человек кратко объясняет пассивный режим:
UsePassive:
false, если процесс передачи данных клиентского приложения прослушивает соединение через порт данных; в противном случае - true, если клиент должен инициировать соединение через порт данных. Значение по умолчанию верно
Приведенный выше ответ мне не очень понятен. так что любой может рассказать о пассивном режиме более подробно.... спасибо
1 ответ
Может быть, эти статьи MSDN могут вам помочь?
KeepAlive
Получает или задает логическое значение, которое указывает, закрыто ли управляющее соединение с FTP-сервером после завершения запроса.
Когда для свойства KeepAlive установлено значение false, управляющее соединение закрывается при вызове метода Close.
Изменение KeepAlive после вызова метода GetRequestStream, BeginGetRequestStream, GetResponse или BeginGetResponse вызывает исключение InvalidOperationException.
http://msdn.microsoft.com/en-us/library/system.net.ftpwebrequest.keepalive.aspx
UseBinary
Получает или задает логическое значение, указывающее тип данных для передачи файлов.
Если вы отправляете двоичные данные, например изображение, установите для этого свойства значение true. Если вы отправляете текст, установите для свойства значение false. Если задать значение true, FtpWebRequest отправит на сервер команду "TYPE I". Если задано значение false, FtpWebRequest отправит команду "Тип A" на сервер. FTP-серверы могут игнорировать эти команды.
Изменение UseBinary после вызова метода GetRequestStream, BeginGetRequestStream, GetResponse или BeginGetResponse вызывает исключение InvalidOperationException.
http://msdn.microsoft.com/en-us/library/system.net.ftpwebrequest.usebinary.aspx
UsePassive
Получает или задает поведение процесса передачи данных клиентского приложения.
Если для свойства UsePassive установлено значение true, команда "PASV" отправляется на сервер. Эта команда просит сервер прослушивать порт данных и ожидать соединения, а не инициировать его при получении команды на передачу.
Описание поведения, заданного с помощью UsePassive, см. В RFC 959, "Протокол передачи файлов", раздел 3.2, "Установка соединений данных" и раздел 4.1.2, "Команды передачи параметров", доступный по адресу http://www.rfc-editor.org/.
Изменение UsePassive после вызова метода GetRequestStream, BeginGetRequestStream, GetResponse или BeginGetResponse вызывает исключение InvalidOperationException.
Если для UsePassive установлено значение true, FTP-сервер может не отправлять размер файла, и процесс загрузки всегда может быть равен нулю. Если для UsePassive установлено значение false, брандмауэр может выдать предупреждение и заблокировать загрузку файла.
http://msdn.microsoft.com/en-us/library/system.net.ftpwebrequest.usepassive.aspx