Sersey писал(а):
на момент когда компонент HTTPClient дает ответ, Proxy может уже сменится, а HTTPClient выдал за рабочий прокси предыдущий прокси
Ответов: 4622
Рейтинг: 746
|
|||
Ничего он не выдаст. Первый компонент ArrayEnum перебирает список с адресами страниц. Каждый адрес выдаётся событием onItem. Событие onItem вызывает метод HTTPClient.doLoadString. Так вот. Пока метод doLoadString не отработает - не завершится событие onItem и не выдастся следующая страница. А метод doLoadString не отработает, пока не выполнится запрос и не отработает событие HTTPClient.onFinish. А HTTPClient.onFinish не отработает пока не отработает всё, что к нему прицеплено по такому же принципу. Так же работает второй ArrayEnum, который перебирает список прокси, полученных перед ним: onItem выдаёт очередной прокси на второй HTTPClient, тот отрабатывает, проверяется результат его работы и в негативном случае ничего не происходит - цепочка по onItem завершается, ArrayEnum выдаёт второй адрес и всё повторяется. А если второй HTTPClient дал положительный результат, то прокси найден - всем компонентам ArrayEnum указывается прекратить перебор и выдачу страниц/адресов. |
|||
карма: 26 |
|
Редактировалось 1 раз(а), последний 2018-12-13 15:43:03