一つの画像であれば接続、取得、画像の保存まで全て上手にできています。
しかし、for文で繰り返しで回した途端上手く動かなくなります。指定したサーバに接続が出来なくなります。下記がエラーメッセージです。
java.net.ConnectException: Connection timed out: connect
エラーメッセージを頼りに調べてみると、「宛先ホストがダウン」している等がでてきました。(まんまですが)ブラウザでも開けるし、単一の画像であれば接続、取得、画像の保存まで可能なのに繰り返しになるとこうなります。宛先のURL等は何度も確認したので間違いないはずです。
何か分かる方がいらっしゃいましたらご教授お願い致します。
しかし、なぜ、このような問題が発生するのでしょうか。For文の中身は前回の繰り返しの分が実行完了になるまで次の分の繰り返しは実行されないですよね?
例えば、For文の中に接続の手順があったとしたら、一回目の接続が確立されるまで二回目の接続はされないですよね?
もし、そうではないとしたら、接続している途中に違ったURLへの接続を指示したために衝突が発生し、接続が出来ていなかったということでしょうか・・・。
これはもう、相手方の規模、用途、考え方次第なので、相手方により全然違ってくるのですが、画像といえど通常の利用で取得する数は一度に数十もあれば多い方ですよね。
同じ所からあまりに沢山のアクセスがあると、他のユーザに影響あるかもしれませんし、そういう通常利用でないユーザにサーバや通信回線の能力をふんだんに使ってもらう義理は無いので、同じ所からのアクセス頻度を制限している事があります。
また、小さい所だとそもそもサーバ容量が足りてなくて遅くなるとか、共用サーバだと供用者間であまり偏らない様に制限してるとか。
ただ、制限してない所もあるし、限度がどこかは完全に相手方によります。