Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.01.2011, 13:58   #1
Puhovoi
Пользователь
 
Аватар для Puhovoi
 
Регистрация: 16.10.2010
Сообщений: 47
По умолчанию Подвисание потока (idhttp -> iohandler -> idsocks)

Доброго времени суток.

В программе используется соединение через socks5 сервер:

Код:
function change (http : tidhttp) : boolean;
var
  // ip:port proxy
  pr : string;
  sock : tidsocksinfo;
  stac : tidiohandlerstack;
begin
  // prox: proxy`s list (ip:port)
  pr := prox.strings [random (prox.count - 1)];
  while pos (':', pr) = 0 do
    pr := prox.strings [random (prox.count - 1)];
  
  sock := tidsocksinfo.create (http);
  stac := tidiohandlerstack.create (http);
 
  sock.port := strtoint (copy (pr, pos (':', pr) + 1, length (pr))); 
  sock.host := copy (pr, 1, pos (':', pr) - 1);
  
  sock.authentication := sanoauthentication; 
  sock.version := svsocks5;
  stac.transparentproxy := sock; 
  http.iohandler := stac;
  
  result := true;
end;
Функция добавляет компоненту idhttp (read- и connecttimeout = 10000) поддержку работы через случайный сокс, собственно.

Очень редко случается так, что обрывается соединение с интернетом, и все потоки, активно использующие idhttp через прокси, виснут намертво.

Поможет ли установка read- и connecttimeout для iohandler-а проблеме? Если нет - каково решение?

Заранее спасибо за ответы.

Последний раз редактировалось Puhovoi; 29.01.2011 в 14:05.
Puhovoi вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как узнать номер потока из самого потока? GaMeSTeR Помощь студентам 0 03.12.2010 09:50
"подвисание" перед выполнением макроса Gavr Microsoft Office Excel 1 09.08.2009 15:31
TIdTCPClient.IOHandler.InputBufferI sEmpty не сразу обновляется st01en Работа с сетью в Delphi 1 26.06.2009 08:34
"Подвисание" программы. skdon Работа с сетью в Delphi 6 18.11.2007 00:30
Подвисание программы Маркъ Работа с сетью в Delphi 3 24.09.2007 14:28