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

通信ログを表示する

 FTPサーバーとの通信内容を表示するにはTKFP.Net.PopClientクラスのMessageSendイベントとMessageReceiveイベントを使用します。 送信または受信を行う毎にイベントが発生するので、その都度処理を行うことにより通信ログを作成することが可能です。
 次のサンプルでは、FTPサーバーへの接続から切断までの通信内容をデバッグウインドウに表示しています。 TKFP.DLLではコントロールコネクションの通信内容しかログ表示することが出来ません。 実際にはディレクトリ情報の取得などで、データコネクションによってデータ取得が行われています。
C#.NET
//FTPサーバーに接続したFtpClientクラスを作成します
private TKFP.Net.FtpClient ConnectFTP()
{
    //接続情報
    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);

    //送信イベントを登録
    ftp.MessageSend += new TKFP.Net.MessageSendHandler(ftp_MessageSend);
    //受信イベントを登録
    ftp.MessageReceive += new TKFP.Net.MessageReceiveHandler(ftp_MessageReceive);

    //接続開始
    if (ftp.Connect())
    {
        System.Windows.Forms.MessageBox.Show("接続成功");
        return ftp;
    }
    else
    {
        System.Windows.Forms.MessageBox.Show("接続失敗");
        return null;
    }
}

//サーバーからメッセージを受信したときのイベント
private void ftp_MessageSend(object sender, TKFP.Net.MessageArgs e)
{
    System.Diagnostics.Debug.WriteLine(">" + e.Message);
}

//サーバーへメッセージを送信したときのイベント
private void ftp_MessageReceive(object sender, TKFP.Net.MessageArgs e)
{
    System.Diagnostics.Debug.WriteLine(e.Message);
}
VB.NET
'FTPサーバーに接続したFtpClientクラスを作成します
Private Function ConnectFTP() As TKFP.Net.FtpClient
    '接続情報
    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)

    '送信イベントを登録
    AddHandler ftp.MessageSend, AddressOf ftp_MessageSend
    '受信イベントを登録
    AddHandler ftp.MessageReceive, AddressOf ftp_MessageReceive

    '接続開始
    If ftp.Connect() Then
        System.Windows.Forms.MessageBox.Show("接続成功")
        Return ftp
    Else
        System.Windows.Forms.MessageBox.Show("接続失敗")
        Return Nothing
    End If
End Function

'サーバーからメッセージを受信したときのイベント
Private Sub ftp_MessageSend(ByVal sender As Object, ByVal e As TKFP.Net.MessageArgs)
    System.Diagnostics.Debug.WriteLine((">" + e.Message))
End Sub

'サーバーへメッセージを送信したときのイベント
Private Sub ftp_MessageReceive(ByVal sender As Object, ByVal e As TKFP.Net.MessageArgs)
    System.Diagnostics.Debug.WriteLine(e.Message)
End Sub
VB.NETのコードはC#.NETを元に「C#.NET to VB.NET Translator」によって作成したものです

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