DOBON.NET DOBON.NETプログラミング掲示板過去ログ

FtpWebRequestを使ったダウンロードで、モバイルモデムを利用した場合にエラーになる

環境/言語:[WindowsXP .NET 2.0]
分類:[.NET]

お世話になります
こちらのページのFtpWebRequest、FtpWebResponseクラスを使ってFTPサーバーにアクセスするを利用させていただきまして、VB2005でFTPサーバ上のファイルをダウンロードしています。この例は、大変助かりましたありがとうございます。
インターネット回線が、ひかり回線の場合は、問題なく動作していたのですが
Docomo回線を使った、モバイルモデムを利用すると通信できません
CMDのFTPコマンドでは、ダウンロードできます
サーバ上では、ファイルSEND後1秒後には、ERRORでabortします
携帯電波の為、応答までに時間が掛かります。PING試験すると、ひかりの場合は、150msecが、300msecぐらいになります
ftpReq.ReadWriteTimeout と ftpReq.Timeout を追記して2000msecにしてみましたが、効果ありませんでした
何か解決方法ありますでしょうか?
初心者なので、説明不十分かもしれませんが、よろしくお願いします
ドコモのどの回線なのでしょうか。

回線によってはポートの制限があったように思います。
もし、Passive モードで相手の指定してくるポート番号が規制対象だった場合、応答がないかもしれませんね。
FtpWebRequest の UsePassive プロパティを false にして変化があるかどうかでしょうか。
■No30584に返信(Azuleanさんの記事)
> ドコモのどの回線なのでしょうか。
>
> 回線によってはポートの制限があったように思います。
> もし、Passive モードで相手の指定してくるポート番号が規制対象だった場合、応答がないかもしれませんね。
> FtpWebRequest の UsePassive プロパティを false にして変化があるかどうかでしょうか。

Azuleanさん返信ありがとうございます
パッシブモードは、変えてみましたが変化ありませんでした
サーバ側のログを見ると、アタッチしてから、ログイン完了するまでに
4秒要していました。Timeoutの時間をさらに伸(6〜10秒)ばしてみましたが
DLが始まらず4秒後くらいに、セッションがクローズされます。

今のところ、VBでの記述は諦めて、FTPコマンドで処理させています
ただ、こちらも処理終了待ちの記述を入れると、DLされず、仕方なく、
DL後の処理開始までにスリープのタイマー入れています
なんか難しいです・・・・。
すいません 解決しました
2個のタイマーを使って、2個目受信処理 1個目が描画処理に使っていました
1個目のタイマー止めてもダメだったので、迷路に入ってしまったのですが、
どうもこのテストした時の1個目のタイマー間隔が短かったのかもしれません
描画は、Invalidateメソッド
受信処理は、BackgroundWorkを使ってマルチスレッドにしたら、エラーが出なく
なりました
2個のタイマーでマルチタスク処理は、干渉するみたいです
(出来ないのを知らなかった・・・・。)
おさがわせしました
BackgroundWork処理内から、formにアクセスできませんが、別のオブジェクトを
呼び出した場合は、そのオブジェクトから参照できてしまう。
(すいません独り言です)
解決済み!

DOBON.NET | プログラミング道 | プログラミング掲示板