Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Сети";
Текущий архив: 2004.05.30;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.034 c
9-1075429776
Magikan
2004-01-30 05:29
2004.05.30
Игрушки на pascal-скриптах


6-1081777568
Ivolg
2004-04-12 17:46
2004.05.30
Почта


1-1084361662
siriusP
2004-05-12 15:34
2004.05.30
Как программно открыть в ComboBox


14-1083933763
Nick-From
2004-05-07 16:42
2004.05.30
Застрял на запросе


1-1084607897
_Druid_
2004-05-15 11:58
2004.05.30
Вопрос по Hotkey





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский