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

Вниз

Зависание клиентов   Найти похожие ветки 

 
Павел ©   (2005-10-19 19:09) [0]

есть БД и куча клиентов.

клиенты периодически виснут (в момент когда от БД пришел event), я так понимаю там какие то проблемы с транзакциями, вообщем расскажите как пишутся нормальные клиенты, основные принцыпы :)


 
Desdechado ©   (2005-10-19 19:32) [1]

основной принцип - события не использовать :)


 
Павел ©   (2005-10-19 19:37) [2]

не, надо же как то клиентов оповещать об изменениях...лучше расскажите как грамотно их обрабатывать...


 
Павел ©   (2005-10-19 22:11) [3]

посоветуйте чтонибудь полезное...


 
Zacho ©   (2005-10-20 00:21) [4]

Павел ©   (19.10.05 19:37) [2]
не, надо же как то клиентов оповещать об изменениях


В подавляющем большинстве случаев - не надо, и даже вредно.
А проблема у тебя скорее всего в компоненте, обрабатывающем ивенты. Попробуй какой-нибудь другой. Помниться, лет 5 назад самым безглючным считался SuperIBEventAlerter, сейчас - не знаю.
Ещё как вариант - клиентская библиотека от другой версии FB. Проверь.
Ну и конечно, могут быть баги у тебя в коде, но не видя твоего кода ничего сказать нельзя.


 
Soliton ©   (2005-10-24 21:50) [5]

Обращаю ваше внимание на необъяснимый эфект... клиент очень надежно зависает при попытке одновременного доступа через одно соединение нескольких желающих... виснет железно... Однозначно в многопоточном варианте (проверено)... причем по необъяснимым причинам от многопоточного зависания не спасает даже попытка создания дочерних соединений для каждого потока. Так что может все дело вовсе не в эвентах...


 
Zacho ©   (2005-10-25 06:20) [6]

Soliton ©   (24.10.05 21:50) [5]

IB-клиент (gds32.dll или fbclient.dll) не thread safe. Поэтому нужно или использовать объекты синхронизации в многопоточном приложении, или на каждый поток - своё подключение. Не знаю, почему у тебя виснет в случае отдельных подключений для каждого потока. У меня не виснет, и не у кого не виснет, что-то ты неправильно делаешь :)
Кстати, работать из нескольких потоков с одним подключением бессмысленно ещё и потому, что в контексте одного подключения все запросы всё равно будут выполняться последовательно, а не "паралельно", независимо от того, сколько потоков и транзакций. Для "паралельного" выполнения запросов нужно несколько коннектов.
Впрочем, всё это к ивентам не имеет никакого отношения :)


 
Anatoly Podgoretsky ©   (2005-10-25 09:06) [7]

Павел ©   (19.10.05 19:37) [2]
Не надо



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

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

Наверх




Память: 0.48 MB
Время: 0.049 c
1-1131544941
Суслик
2005-11-09 17:02
2005.12.11
Runtime пакеты


14-1132492679
Pazitron_Brain
2005-11-20 16:17
2005.12.11
Горные лыжи или сноуборд?


6-1121692051
Соловьев
2005-07-18 17:07
2005.12.11
IMAP - тип папки на сервере


2-1132342808
SerGe@nt
2005-11-18 22:40
2005.12.11
Можно ли скопировать несколко файлов?


14-1132235091
baks_uz
2005-11-17 16:44
2005.12.11
Память - 256 MB RAM ....