C#.NET
string server = "ftp.example.jp";
string userid = "userid";
string pass = "pass";
TKFP.Net.IFtpLogon logon = new TKFP.Net.BasicFtpLogon(userid, pass);
TKFP.Net.PortEntry portentry = new TKFP.Net.PortEntry(5000, 10000);
TKFP.Net.FtpClient ftp1 = new TKFP.Net.FtpClient(logon, server, 21, portentry);
if (ftp1.Connect())
{
System.Windows.Forms.MessageBox.Show("FTP1:接続成功");
}
else
{
System.Windows.Forms.MessageBox.Show("FTP1:接続失敗");
}
TKFP.Net.FtpClient ftp2 = new TKFP.Net.FtpClient(logon, server, 21, portentry);
if (ftp2.Connect())
{
System.Windows.Forms.MessageBox.Show("FTP2:接続成功");
}
else
{
System.Windows.Forms.MessageBox.Show("FTP2:接続失敗");
}
ftp1.Close();
ftp2.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)
Dim portentry As New TKFP.Net.PortEntry(5000, 10000)
Dim ftp1 As New TKFP.Net.FtpClient(logon, server, 21, portentry)
If ftp1.Connect() Then
System.Windows.Forms.MessageBox.Show("FTP1:接続成功")
Else
System.Windows.Forms.MessageBox.Show("FTP1:接続失敗")
End If
Dim ftp2 As New TKFP.Net.FtpClient(logon, server, 21, portentry)
If ftp2.Connect() Then
System.Windows.Forms.MessageBox.Show("FTP2:接続成功")
Else
System.Windows.Forms.MessageBox.Show("FTP2:接続失敗")
End If
ftp1.Close()
ftp2.Close()
VB.NETのコードはC#.NETを元に「
C#.NET to VB.NET Translator」によって作成したものです
TKFP.Net.PortEntryクラスは指定された範囲で順番に使用可能な待ち受けポートを提供するクラスです。TKFP.Net.FtpClientクラスのインスタンスを作成するときに、 特に指定しない場合は、内部で自動的にTKFP.Net.PortEntryクラスを作成していますが、この方法で複数の接続を行った場合、ポートの確保で衝突が起こり片方の接続が、待ち受けポートの確保に失敗する可能性があります。 複数のTKFP.Net.FtpClientクラスを同時に使用する場合は、インスタンスの作成時に共通のTKFP.Net.PortEntryインスタンスを引数とすることで、待ち受けポートの衝突を回避することが可能です。