Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Интернет и сети
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 18.04.2011, 20:17
Сорокин_Роман Сорокин_Роман вне форума
Прохожий
 
Регистрация: 29.11.2010
Сообщения: 34
Репутация: 10
По умолчанию SSL соединение в Indy

Сделал так:
1. Скачал две dll'ки с оффсайта indy: libeay32.dll и slleay32.dll. Скопировал в папку с exe'шником.
2. На форму бросил компонент IdIMAP4, IdSSLIOHandlerSocketOpenSSL.
3. Изменил параметры в IdIMAP4:
Host = 'imap.gmail.com';
IOHandler = IdSSLIOHandlerSocketOpenSSL1;
Password = <password>;
Username = <username>;
Port = 993;
UseTLS = utUseImplicitTLS;

При попытке подключения (вызова метода Connect) вызывает исключение "Socket Error #10060: Connect timed out". Что странно, вызывает почти сразу, сколько много в TIdHTTP.ConnectTimeout не ставь.

Что делать?
Ответить с цитированием
  #2  
Старый 19.04.2011, 09:00
Аватар для NekitoSSSS
NekitoSSSS NekitoSSSS вне форума
Начинающий
 
Регистрация: 02.05.2009
Адрес: Башкортостан, г.Благовещенск
Сообщения: 142
Версия Delphi: XE
Репутация: 13
По умолчанию

1) ConnectTimeout указывается в миллисекундах.

2)
Цитата:
2. На форму бросил компонент IdIMAP4, IdSSLIOHandlerSocketOpenSSL.
Цитата:
Что странно, вызывает почти сразу, сколько много в TIdHTTP.ConnectTimeout не ставь.
может тогда все-таки IdIMAP4.ConnectTimeout ?

3) если п2 не работает, то скорее всего так: IdIMAP4.connect(timeout_in_ms) , например
Код:
IdIMAP4.connect(3000);//таймаут 3 сек.

4) таймаут указывать ПЕРЕД connect()

Последний раз редактировалось NekitoSSSS, 19.04.2011 в 09:07.
Ответить с цитированием
  #3  
Старый 19.04.2011, 12:32
Сорокин_Роман Сорокин_Роман вне форума
Прохожий
 
Регистрация: 29.11.2010
Сообщения: 34
Репутация: 10
По умолчанию

1) В курсе;
2) Пробовал и так, и этак. С любым протоколом при подключении SSL методом utUseImplicitTLS вышеописанное исключение. (Это исключает ошибку со стороны сервера);
3) Метод IdIMAP4.Connect выглядит иначе:
Код:
function TIdIMAP4.Connect(const AAutoLogin: Boolean = True): Boolean;
4) В курсе;
Ответить с цитированием
  #4  
Старый 19.04.2011, 13:47
Сорокин_Роман Сорокин_Роман вне форума
Прохожий
 
Регистрация: 29.11.2010
Сообщения: 34
Репутация: 10
По умолчанию

Неужели никто не знает?! Как вообще использовать SSL (с любым протоколом)? У меня везде одна и та же ошибка #10060! Даже в https! Можно сделать вывод:
1. Ошибка не на стороне сервера.
2. Ошибка не в компоненте протокола.
3. Ошибка в компоненте IdSSLIOHandlerSocketOpenSSL.

Надо как-то настроить IdSSLIOHandlerSocketOpenSSL. Но вот как?
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 05:29.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter