2

.Netにはftp関連のクラスがあることは誰もが知っています。私はよく、人々が常にftpのいくつかのプロパティを使用するのを見てきました。

wrq.KeepAlive = false;
wrq.UseBinary = false;
wrq.UsePassive = true;

&の意味KeepAliveを教えてもらえますか?UseBinaryUsePassive

上記のプロパティにtrueまたはfalseを設定するとどうなりますか。具体的には、UsePassiveプロパティの使用法または意味を教えてください。

ある人がパッシブモードについて簡単に説明します:-

UsePassive:
クライアントアプリケーションのデータ転送プロセスがデータポートで接続をリッスンする場合はfalse。それ以外の場合、クライアントがデータポートで接続を開始する必要がある場合はtrue。デフォルト値はtrueです

上記の答えは私にはあまり明確ではありません。だから誰でもパッシブモードについてもっと詳しく説明することができます....ありがとう

4

1 に答える 1

1

たぶん、これらのMSDNの記事はあなたを助けることができますか?

生き続ける

要求の完了後にFTPサーバーへの制御接続を閉じるかどうかを指定するブール値を取得または設定します。

KeepAliveプロパティがfalseに設定されている場合、Closeメソッドを呼び出すと制御接続が閉じられます。

GetRequestStream、BeginGetRequestStream、GetResponse、またはBeginGetResponseメソッドを呼び出した後にKeepAliveを変更すると、InvalidOperationException例外が発生します。

http://msdn.microsoft.com/en-us/library/system.net.ftpwebrequest.keepalive.aspx


UseBinary

ファイル転送のデータ型を指定するブール値を取得または設定します。

画像などのバイナリデータを送信する場合は、このプロパティをtrueに設定します。テキストを送信する場合は、プロパティをfalseに設定します。trueを指定すると、FtpWebRequestは「TYPEI」コマンドをサーバーに送信します。falseを指定すると、FtpWebRequestは「タイプA」コマンドをサーバーに送信します。FTPサーバーはこれらのコマンドを無視できます。

GetRequestStream、BeginGetRequestStream、GetResponse、またはBeginGetResponseメソッドを呼び出した後にUseBinaryを変更すると、InvalidOperationException例外が発生します。

http://msdn.microsoft.com/en-us/library/system.net.ftpwebrequest.usebinary.aspx


UsePassive

クライアントアプリケーションのデータ転送プロセスの動作を取得または設定します。

UsePassiveプロパティをtrueに設定すると、「PASV」コマンドがサーバーに送信されます。このコマンドは、転送コマンドの受信時に接続を開始するのではなく、データポートでリッスンし、接続を待機するようにサーバーに要求します。

UsePassiveを使用して指定される動作の説明については、 http://wwwで入手可能なRFC959「ファイル転送プロトコル」のセクション3.2「データ接続の確立」およびセクション4.1.2「転送パラメータコマンド」を参照してください。 rfc-editor.org/

GetRequestStream、BeginGetRequestStream、GetResponse、またはBeginGetResponseメソッドを呼び出した後にUsePassiveを変更すると、InvalidOperationException例外が発生します。

UsePassiveがtrueに設定されている場合、FTPサーバーはファイルのサイズを送信しない可能性があり、ダウンロードの進行状況は常にゼロになる可能性があります。UsePassiveがfalseに設定されている場合、ファイアウォールはアラートを発生させ、ファイルのダウンロードをブロックする可能性があります。

http://msdn.microsoft.com/en-us/library/system.net.ftpwebrequest.usepassive.aspx

于 2013-03-24T19:41:23.223 に答える