 |
Многопоточность через прокси |

14.01.2010, 18:39
|
|
Участник форума
Регистрация: 02.07.2007
Сообщений: 189
С нами:
9926261
Репутация:
212
|
|
Многопоточность через прокси
Ребят объясните плиз принципы построения многопоточных приложений через прокси.
Дано. Многопоточная прога чекающая акки на валид.
Нужно сделать чтобы эта радость работала через список прокси.
Без прокси все классно работает.
если запускаешь поток с чеком акков через прокси, то если прокси невалиден то поток завершается и акк естественно не чекается и всё идет дальше.
Вопрос. Как все нормально организовать. Чекать прокси на валид перед чеком или как нибудь по другому ?
|
|
|

14.01.2010, 18:42
|
|
Участник форума
Регистрация: 27.08.2009
Сообщений: 131
С нами:
8793175
Репутация:
33
|
|
Сообщение от Freedom
Ребят объясните плиз принципы построения многопоточных приложений через прокси.
Дано. Многопоточная прога чекающая акки на валид.
Нужно сделать чтобы эта радость работала через список прокси.
Без прокси все классно работает.
если запускаешь поток с чеком акков через прокси, то если прокси невалиден то поток завершается и акк естественно не чекается и всё идет дальше.
Вопрос. Как все нормально организовать. Чекать прокси на валид перед чеком или как нибудь по другому ?
чекать прокси на валид перед запуском программы
|
|
|

14.01.2010, 18:50
|
|
Участник форума
Регистрация: 02.07.2007
Сообщений: 189
С нами:
9926261
Репутация:
212
|
|
Сообщение от drim
чекать прокси на валид перед запуском программы
оригинальный подход ))))
киньте плиз тогда в личку валидных соксов )))
|
|
|

14.01.2010, 18:51
|
|
Участник форума
Регистрация: 29.08.2008
Сообщений: 151
С нами:
9315854
Репутация:
107
|
|
Сообщение от Freedom
если запускаешь поток с чеком акков через прокси, то если прокси невалиден то поток завершается и акк естественно не чекается и всё идет дальше.
используй try - except
|
|
|

14.01.2010, 18:54
|
|
Участник форума
Регистрация: 02.07.2007
Сообщений: 189
С нами:
9926261
Репутация:
212
|
|
Сообщение от ZdezBilYa
используй try - except
т.е.
try
http.post(запрос через прокси);
except
http.post(запрос без прокси);
end;
вот так ?
|
|
|

14.01.2010, 18:57
|
|
Участник форума
Регистрация: 29.08.2008
Сообщений: 151
С нами:
9315854
Репутация:
107
|
|
нет.
try
http.post(запрос через прокси);
except
end;
в except можно делать, что хочешь, например удалять эту проксю, раз через нее соединиться не удалось
|
|
|

14.01.2010, 18:58
|
|
Участник форума
Регистрация: 27.08.2009
Сообщений: 131
С нами:
8793175
Репутация:
33
|
|
Сообщение от Freedom
оригинальный подход ))))
киньте плиз тогда в личку валидных соксов )))
они продаются
|
|
|

14.01.2010, 18:59
|
|
Участник форума
Регистрация: 02.07.2007
Сообщений: 189
С нами:
9926261
Репутация:
212
|
|
Сообщение от ZdezBilYa
нет.
try
http.post(запрос через прокси);
except
end;
в except можно делать, что хочешь, например удалять эту проксю, раз через нее соединиться не удалось
так получается что поток завершается и акк не чекается (
|
|
|

14.01.2010, 19:04
|
|
Участник форума
Регистрация: 29.08.2008
Сообщений: 151
С нами:
9315854
Репутация:
107
|
|
тогда вот так:
Код:
error:=true;
while error do
begin
error:=false;
try
http.post;
except
error:=true;
берем другую прокси;
end;
end;
будет повторяться пока запрос не пройдет без ошибок
|
|
|

14.01.2010, 20:06
|
|
Reservists Of Antichat - Level 6
Регистрация: 12.02.2006
Сообщений: 891
С нами:
10653446
Репутация:
836
|
|
завести объект вида
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. забываю уже дельфи 
__________________
*********************************
*Я не волшебник ٩(๏̯͡๏)۶, только учусь...*
*********************************
Программы на заказ
Times to fly...
|
|
|
|
 |
Предыдущая тема
Следующая тема
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|