Dart.Ftp 名前空間 : Ftp クラス |
<DescriptionAttribute("The Ftp Component provides comprehensive file copy services with any FTP server.")> <LicenseProviderAttribute(1.3)> <ToolboxItemAttribute(ToolboxItemType=System.Drawing.Design.ToolboxItem, ToolboxItemTypeName="System.Drawing.Design.ToolboxItem, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")> Public Class Ftp Inherits ComponentBase
[Description("The Ftp Component provides comprehensive file copy services with any FTP server.")] [LicenseProvider(1.3)] [ToolboxItem(ToolboxItemType=System.Drawing.Design.ToolboxItem, ToolboxItemTypeName="System.Drawing.Design.ToolboxItem, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")] public class Ftp : ComponentBase
Ftpコンポーネントは、ファイルおよびストリームの転送機能やデータ接続への読み書き機能などの高度なFTP機能をアプリケーションに提供します。 任意のコマンド(独自のコマンドを含む)の送信機能がサポートされています。 これらの機能はすべて高レベルのメソッドによってカプセル化されているため、低レベルプロトコルの知識は必要ありません。マルチスレッド手法も完全にサポートされています。
一般的な使用例の概要を以下に示します。 詳細な説明については、該当するリファレンスセクションのページを参照してください。
接続とログイン: サーバーと通信するためには、まずSession.RemoteEndPoint、FtpSession.Username、およびFtpSession.Passwordを設定する必要があります。 これらを設定すると、サーバーとの通信が必要となったときにクライアントが自動的に接続してログインします。 クライアントは、Ftpコンポーネントが破棄されるか、CloseまたはAbortが呼び出されるまで、ログイン状態を維持します。
ログインとログアウトの詳細については、FtpSessionのページを参照してください。
同期使用: すべてのメソッドは同期的です。つまり、処理が完了するまでメソッドは戻りません。
非同期使用: Windows Formsアプリケーションで使用する場合、Startメソッドを呼び出してワーカースレッドを開始し、そのスレッドでUIスレッドのメッセージ処理を妨げることなくメソッドを呼び出すことができます。 UIスレッドへのデータのマーシャリングを行うには、Marshalメソッドを使用します。このメソッドを呼び出すと、UIスレッドでイベントが発生します。
詳細については、「Windows Formsアプリケーション(非同期使用)」のトピックを参照してください。
ファイルの転送: ファイルの取得には4つのGetオーバーロードメソッドを使用し、ファイルの保存には4つのPutオーバーロードメソッドを使用します。 これらのメソッドには、複数ファイルの転送をサポートするオーバーロードが含まれます(Get(List<ListEntry>,String,String,Synchronize)およびPut(List<FileSystemInfo>,String,String,Synchronize)を参照)。
ファイルのコピーの詳細については、該当するリファレンスページを参照してください。
ストリームの転送: ストリームにファイルを取得するにはGet(String,Int64,Stream)オーバーロードを使用し(宛先ストリームを渡す)、ストリームをファイルとしてサーバーに保存するにはPut(Stream,String,Int64,StoreType)オーバーロードを使用します(ソースストリームを渡す)。
データストリームへの読み書き: Ftpコンポーネントを使用してデータストリームへの読み書きができます(ソケットからの読み取り/ソケットへの書き込み)。Get(String,Int64)およびPut(String,Int64,StoreType)の各オーバーロードを参照してください。
データストリームへの読み書きの詳細については、Dataクラスを参照してください。
コマンドの送信: Ftpコンポーネントでは、コマンドは2通りの方法で送信されます。 1つは、コマンドをカプセル化した高レベルメソッドを使用する方法です。 たとえば、RenameメソッドはRNFR(rename from)コマンドとRNTO(rename to)コマンドの送信をカプセル化します。その他にも、GetSize(SIZEコマンドを発行して応答を解析する)、GetDirectory(PWDを発行して応答を解析する)、List(カプセル化されたリストを返す)などの高レベルコマンドがあります。 もう1つは、Sendメソッドを使用してコマンドを明示的に送信する方法です。 このメソッドは、どの高レベルメソッドにも含まれていない任意のコマンド(独自のコマンドを含む)を送信する場合に使用します。
コントロール接続に関する情報の取得: TCPコントロール接続はConnectionプロパティを通じて公開されており、これを使用して低レベルのプロパティやメソッドにアクセスできます。 たとえば、これを使用してローカルIPアドレスやリモートIPアドレスなどのTCPレベルのアクティビティを表示できます。
System.Object
System.MarshalByRefObject
System.ComponentModel.Component
Dart.Ftp.ComponentBase
Dart.Ftp.Ftp