The project of U-WA-
http://uwa.potetihouse.com/
戻る
TKFP.DLL   プログラミングTips

切断時間を短くする

 TKFP.Net.FtpClientクラスは接続処理でQUITコマンドを送信した後にそのレスポンスを要求します。 サーバーによってはQUITコマンドを受信すると、即コネクション切断を行いレスポンスの送信を行なわないものが存在するため、 QUITコマンドがタイムアウトするまで処理が中断してしまうことがあります。
 これを回避するためのメソッドやプロパティは存在しませんが、切断前にTimeOutIntervalの値を短くすることで、 処理の中断時間を最小限にする事が可能です。
C#.NET
//接続情報
string server = "ftp.example.jp";
string userid = "userid";
string pass = "pass";

//ログオン用のクラスを作成
TKFP.Net.IFtpLogon logon = new TKFP.Net.BasicFtpLogon(userid, pass);

//FTPクライアントクラスの作成
TKFP.Net.FtpClient ftp = new TKFP.Net.FtpClient(logon, server, 21);

//接続開始
if (ftp.Connect())
{
    System.Windows.Forms.MessageBox.Show("接続成功");
    //FTPサーバーの情報をコンソールに出力します
    System.Console.WriteLine(ftp.SystemName);
}
else
{
    System.Windows.Forms.MessageBox.Show("接続失敗");
}

//切断
ftp.TimeOutInterval = 1;
ftp.Close();
VB.NET
'接続情報
Dim server As String = "ftp.example.jp"
Dim userid As String = "userid"
Dim pass As String = "pass"

'ログオン用のクラスを作成
Dim logon As New TKFP.Net.BasicFtpLogon(userid, pass)

'FTPクライアントクラスの作成
Dim ftp As New TKFP.Net.FtpClient(logon, server, 21)

'接続開始
If ftp.Connect() Then
    System.Windows.Forms.MessageBox.Show("接続成功")
    'FTPサーバーの情報をコンソールに出力します
    System.Console.WriteLine(ftp.SystemName)
Else
    System.Windows.Forms.MessageBox.Show("接続失敗")
End If

'切断
ftp.TimeOutInterval = 1
ftp.Close()
VB.NETのコードはC#.NETを元に「C#.NET to VB.NET Translator」によって作成したものです

トップページへ移動
The project of U-WA-
http://uwa.potetihouse.com/