Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.032 c
7-1082177980
Эйф
2004-04-17 08:59
2004.05.30
Тахеометр


14-1083997700
Bond
2004-05-08 10:28
2004.05.30
Задачи по Паскалю


6-1081528144
Raptoridze
2004-04-09 20:29
2004.05.30
Twebbrowser


3-1084174470
Satyros
2004-05-10 11:34
2004.05.30
Проблема с подключением к DB2


14-1084468224
acsoft
2004-05-13 21:10
2004.05.30
Какие еще есть утилиты кроме UPX и ASP для сжатия или просто шифр




   Наверх