![]() |
Многопоточность через прокси
Ребят объясните плиз принципы построения многопоточных приложений через прокси.
Дано. Многопоточная прога чекающая акки на валид. Нужно сделать чтобы эта радость работала через список прокси. Без прокси все классно работает. если запускаешь поток с чеком акков через прокси, то если прокси невалиден то поток завершается и акк естественно не чекается и всё идет дальше. Вопрос. Как все нормально организовать. Чекать прокси на валид перед чеком или как нибудь по другому ? |
Цитата:
|
Цитата:
оригинальный подход )))) киньте плиз тогда в личку валидных соксов ))) |
Цитата:
|
Цитата:
try http.post(запрос через прокси); except http.post(запрос без прокси); end; вот так ? |
нет.
try http.post(запрос через прокси); except end; в except можно делать, что хочешь, например удалять эту проксю, раз через нее соединиться не удалось |
Цитата:
|
Цитата:
|
тогда вот так:
Код:
error:=true; |
завести объект вида
enum Check { Unchecked, Valid, Invalid, ProxyError } Список/Массив вида id - CheckValue Проверка while(currentAccount.CheckValue == Check.ProxyError || currentAccount.CheckValue == Unchecked) try { тут могут быть варианты вида Valid и Invalid. break; } catch(SocketException) { currentAccount.CheckValue = Check.ProxyError; removeProxy(); } } ... Все просто. В цикле проверяем поле которое отвечает за информацию о валидности акка и его статусе проверки. Если проверили акк, то выставляем соответствующий статус, иначе если ловим ошибку сокета, присваиваем статус говорящий что трабла с прокси. P.S. забываю уже дельфи :( |
| Время: 13:39 |