Как закрыть SSL соединение по таймауту?

Для соединения по tcp использую библиотеку synapse. Подключение происходит через proxy. Иногда случается, что попытка соединения происходит очень долго, больше 5, а бывало и больше 20 минут. Timeout везде где можно установлен. TBlockSocket.Connect обрывается по таймауту как часики. А вот TBlockSocket.SSLDoConnect напрочь игнорирует его...
TTCPBlockSocket *tcp;
tcp = new TTCPBlockSocket;
tcp->SetTimeout(8000);
tcp->SocksType = ST_Socks5;
tcp->SocksIP = ProxyHost;
tcp->SocksPort = ProxyPort;
tcp->SocksUsername = ProxyLogin;
tcp->SocksPassword = ProxyPass;
tcp->SocksTimeout = 8000;
tcp->CloseSocket(); // Закрывыем сокс
tcp->SSLDoShutdown(); // закрываем ssl
tcp->Connect(Host, Port); // подключаемся к серваку
tcp->SSLDoConnect(); // поднимаем ssl соединение
// вот на этой строке и висит минутами

Есть мыслишки?
  • Вопрос задан
  • 278 просмотров
Решения вопроса 1
gibboncho
@gibboncho Автор вопроса
Нашел решение, изменил библиотеки httpsend, blcksock и ssl_openssl на эти. В них есть параметр ConnectionTimeout.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы