Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.05.30;
Скачать: CL | DM;

Вниз

TIdTCPClient.Connect подвисает   Найти похожие ветки 

 
mRodion ©   (2004-04-15 09:46) [0]

Привет всем!
Использую компоненту Indy TCPClient для связи со специфическим сервером в сети по специфическому протоколу.
Подключение к серверу делается в общем случае так:

TCPSocket.Port:=FPort;
TCPSocket.Host := FHost;
TCPSocket.Connect (FInterval);

В случае когда Finterval задан большим (несколько секунд), а сервер не доступен, компонента, пытаясь подключиться, вешает намертво приложение. То есть пользователь не имеет возможности ни свернуть его, не развернуть, ни нажать какую-нибудь кнопку.
После заданного таймаута компонента возвращает ошибку и программа продолжает нормально работать.

Кто-нибудь знает, как побороть это подвисание? В общем-то Indy довольно распространены... Кстати, подобные проблемы наблюдаются и при использовании метода ReadLn, когда сервер по каким-то причинам задерживает ответ (или ответ идет по очень медленному каналу связи).

Использую Indy 9.0, D5, W2k


 
Digitman ©   (2004-04-15 09:55) [1]

простейшее решение - брось на форму с TIdTCPClient компонент TIdAntifreeze


 
mRodion ©   (2004-04-15 10:18) [2]

Опа!
Спасибо! Не знал.
А что делать, если я компонент TIdTCPClient кидаю не на форму, а создаю динамически в своим компонентах?

Просто создать еще и Антифриз?


 
Digitman ©   (2004-04-15 10:30) [3]

да.
если оба компонента создаются в осн.код.потоке (неважно как - динамически либо будучи "брошенными" на форму), то антифриз поможет в любом случае



Страницы: 1 вся ветка

Текущий архив: 2004.05.30;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.044 c
1-1084939263
Cryon
2004-05-19 08:01
2004.05.30
Как завершить работу приложения


1-1085039510
MrCorp
2004-05-20 11:51
2004.05.30
Границы в MS Word


1-1084879735
aser
2004-05-18 15:28
2004.05.30
Время выполнения программы


14-1083869414
lak
2004-05-06 22:50
2004.05.30
вопрос html


3-1084251518
Vovovanych
2004-05-11 08:58
2004.05.30
Обновлении данных в многопользовательских программах