人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

VB.NETでFTPクライアントを作成していますが、パッシブモードでは機能実現ができません。
アクティブモード(PORTモード)のソースがありましたら教えていただけませんか?
<参考URL>
http://support.microsoft.com/kb/832679/ja

●質問者: sageteen
●カテゴリ:コンピュータ
✍キーワード:FTPクライアント VB.NET アクティブ ソース パッシブ
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● lains_you
●35ポイント ベストアンサー

以下はTcpClientを使用したC#のソースです。VBに変換して試してみてください。


 //Portコマンドパラメータ作成
 // ip - IPアドレス
 // port - port番号
 private string PortParam(IPAddress ip, int port)
 {
 string addr = ip.ToString().Replace('.', ',');

 int p1 = port / 256;
 int p2 = port % 256;

 return addr + "," + p1.ToString() + "," + p2.ToString();
 }

 //アクティブモード接続
 // cmd - コマンド
 private TcpClient getActvConnection(string cmd)
 {
 IPHostEntry localhost = Dns.GetHostEntry(Dns.GetHostName());
 IPAddress ipaddress = localhost.AddressList[0];
 TcpListener listener = new TcpListener(ipaddress, 50001);
 TcpClient client;

 ExecCmd("PORT " + this.PortParam(ipaddress, 50001) + "\r\n");
 listener.Start();
 ExecCmd(cmd);
 client = listener.AcceptTcpClient();
 listener.Stop();

 return client;
 }

備考

◎質問者からの返答

ありがとうございます


2 ● ohmix1
●35ポイント

.NET Framework 2.0 からFtpWebRequestクラスが使えると思います。ソケットで書く必要無いのでは?

http://www.devasp.net/net/articles/display/246.html

http://support.microsoft.com/kb/832679/ja


FtpWebRequestのUsePassiveでパッシブとアクティブを切り替えます。

http://msdn2.microsoft.com/ja-jp/library/system.net.ftpwebreques...

◎質問者からの返答

ありがとうございます

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ