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

Вниз

Уничтожение RDM   Найти похожие ветки 

 
Alexander_K   (2010-12-08 12:19) [0]

Всем добрый день!

У меня есть трехзвенное MIDAS приложение. Клиент подключается к серверу приложений, в котором соответсвтенно имеется Remote Data Module (в конечном итоге все это работает через COM). RDM создается как Instancing: ciMultiInstance , а Threading model: tmSingle. То есть на каждого клиента создается отдельный поток.
Обычно, при нормальном завершении клиентской части программы, серверная часть завершается нормально, но вот когда пропадает сетевое соединение (возможны наверное еще случаи) клиент теряет связь с серверной частью, и после завершения клиента серверная часть уже не закрывается сама.
В связи с этим хочу сделать механизм, по которому сервер бы определял: живой ли клиент или нет.
Как это сделать наверное не важно (можно например по таймеру раз в несколько минут выполнять какой-нибудь метод на сервере, по которому сервер будет и определять жив клиент или нет).
Но вот потом встает вопрос:
Сервер определил, что клиент не откликается какое-то время, и нужно закрываться.
Так вот вопрос: как корректно завершиться серверному потоку самому из себя?


 
Сергей М. ©   (2010-12-08 20:08) [1]

Exit;


 
_Юрий   (2010-12-09 00:29) [2]

Надо ковырять код фабрики, которая создает и разрушает ремоут-дата-модули, и смотреть как это можно сделать по моему, модуль называется ComSrv, сейчас нет под рукой исходников.
Завтра тоже гляну, у меня точно такая же проблема.
По поводу определения живости клиента думаю сделать так: на вызове каждого метода запоминать время, и параллельно пустить поток который будет отслеживать, нет ли простаивающих более какой то величины.


 
Alexander_K   (2010-12-09 11:01) [3]

Похоже нашел:

CoDisconnectObject(Self, 0);



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

Форум: "Основная";
Текущий архив: 2012.04.15;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.019 c
2-1324396199
TComponent
2011-12-20 19:49
2012.04.15
Проблема с asm кодом


2-1324444743
petvv
2011-12-21 09:19
2012.04.15
Непонятки с запросом


4-1255976942
ratatui
2009-10-19 22:29
2012.04.15
Как решить проблему мелькания у компонентов? (Edit)


1-1291799940
Alexander_K
2010-12-08 12:19
2012.04.15
Уничтожение RDM


3-1274164397
leonidus
2010-05-18 10:33
2012.04.15
Ошибка при создании таблицы через ADO





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский