Модераторы: Snowy, Poseidon, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Synapse и TimeOut, Длительное ожидание 
V
    Опции темы
neweraser
Дата 23.5.2012, 10:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 598
Регистрация: 17.2.2008

Репутация: нет
Всего: 6



Доброго времени суток!
Использую библиотеку Synapse для работы с сетью, в цикле проверяю прокси на работоспособность, можно ли как-то сделать переход к следующему прокси в списке, если какое-то определенное время нет ответа от сервера или запрос не выполняется?
Код

procedure TForm1.Button1Click(Sender: TObject);
var
  HTTP: THTTPSend;
  PList: TStringList;
  i, j: Integer;
begin
  PList:= TSTringList.Create;
  PList.LoadFromFile('D:\Proxy.txt');
  HTTP:= THTTPSend.Create;
  j:= 1;
  for i:= 0 to PList.Count - 1 do
  begin
    HTTP.ProxyHost:= Copy(PList.Strings[i], 0, Pos(':', PList.Strings[i]) - 1);
    HTTP.ProxyPort:= Copy(PList.Strings[i], Pos(':', PList.Strings[i]) + 1, Length(PList.Strings[i]));
    if HTTP.HTTPMethod('GET', 'http://2ip.ru') = True then
    begin
      // вот тут надо вставить что-то типа if HTTP.TimeOut > такого-то числа then continue, пробовал - ничего не выходит
      Memo1.Lines.Add(IntToStr(j) +') ' + PList.Strings[i]);
      inc(j);
    end;
  end;
  HTTP.Free;
  PList.Free;
end;

Такие вещи надо делать в отдельном потоке, это просто набросок, выкинул много мусора из кода smile Спасибо за ответы.

-----------
Вставил HTTP.Timeout:= 900; - вроде отбрасывает длительные запросы, вопрос открыт, можно ли сделать проверку работоспособности проксей как-то по-другому? Уж слишком криво у меня.

Это сообщение отредактировал(а) neweraser - 23.5.2012, 10:14


--------------------
Кто ищет, тот всегда найдет.
PM MAIL ICQ Skype   Вверх
MetalFan
Дата 23.5.2012, 17:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Аццкий Сотона
****


Профиль
Группа: Комодератор
Сообщений: 3815
Регистрация: 2.10.2006
Где: Moscow

Репутация: 14
Всего: 128



neweraser, ну чисто теоретически можно попробовать просто TCP клиентом попробовать подсоединиться...
хотя установка TCP соединения на 100% не покажет, что прокся жива...


--------------------
There are always someone smarter than you...
PM MAIL   Вверх
Coder
Дата 26.5.2012, 15:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 733
Регистрация: 13.12.2004

Репутация: нет
Всего: 11



У тебя, получается, тратится лишнее время на загрузку ресурса через прокси.
Как сказали выше, подключись через свой сокет. А чтобы проверить живой ли прокси, отправь команду и прочитай ответ. 


Это сообщение отредактировал(а) Coder - 26.5.2012, 15:24
PM MAIL   Вверх
neweraser
Дата 7.6.2012, 12:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 598
Регистрация: 17.2.2008

Репутация: нет
Всего: 6



Спасибо за предыдущие ответы, но проблему толком не решил.. Возник вопрос, какой оптимальный таймаут можно поставить?


--------------------
Кто ищет, тот всегда найдет.
PM MAIL ICQ Skype   Вверх
MetalFan
Дата 7.6.2012, 17:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Аццкий Сотона
****


Профиль
Группа: Комодератор
Сообщений: 3815
Регистрация: 2.10.2006
Где: Moscow

Репутация: 14
Всего: 128



Цитата(neweraser @  7.6.2012,  12:32 Найти цитируемый пост)
какой оптимальный таймаут можно поставить

Проверь экспериментальным путем. секунд 10 имхо хватит.


--------------------
There are always someone smarter than you...
PM MAIL   Вверх
neweraser
Дата 7.6.2012, 23:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 598
Регистрация: 17.2.2008

Репутация: нет
Всего: 6



на spys.ru все прокси публичные, тормозят жестко... а бывает вообще 
Цитата
Maximum number of open connections reached

Думал в чем же ошибка, вот и думаю, что поставить, сколько секунд, чтоб потом присваивать новый ip. Да, наверное, 10-15 секунд будет нормально, спасибо.


--------------------
Кто ищет, тот всегда найдет.
PM MAIL ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Сети"
Snowy
Poseidon
MetalFan

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делится вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Snowy, Poseidon, MetalFan.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Сети | Следующая тема »


 




[ Время генерации скрипта: 0.0640 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.