Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Работа с сетью в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.06.2012, 10:21   #1
fezilk25
Форумчанин
 
Регистрация: 01.08.2010
Сообщений: 124
Вопрос Взаимодействие нескольких копий программы

Доброго времени суток всем!

Пишу программу, с помощью которой с разных компьютеров будет выполнятся работа с БД MySQL. Причем компьютеры могут находится в одной локальной сети и выходить в инет через один из этих компьютеров, или не находится в одной локальной сети и иметь разные IP.

Необходимо, чтобы при изменении любого поля БД из одной программы, другие обновляли данные. Если делать таймер на 5 сек - 1) медленно 2) слишком много запросов к БД. Поэтому надумал сделать своеобразное взаимодействие программ - при изменении БД программа посылает запросы к другим запущенным копиям, а те, при получении запроса, обновляют БД.

Как это лучше реализовать? Что посоветуете?
fezilk25 вне форума Ответить с цитированием
Старый 02.06.2012, 11:21   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Цитата:
Как это лучше реализовать?
Я делал через компоненты INDI. Главная программа знала список запущеных и подключенных копий, и рассылала им уведомления переобновиться.
т.е. на компьютере-сервере стояла программа-сервер, которая взаимодействовала Мускулом. клиенты ей передавали запросы, и получали ответы. Напрямую клиенты с БД не работали. Ну и конечно сервер имел список подключенных клиентов, которым рассылал обновки.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 02.06.2012, 11:51   #3
fezilk25
Форумчанин
 
Регистрация: 01.08.2010
Сообщений: 124
По умолчанию

здесь так не получится, т.к. нет компьютера-сервера.. (бд на хостинге)

Последний раз редактировалось fezilk25; 02.06.2012 в 12:08.
fezilk25 вне форума Ответить с цитированием
Старый 02.06.2012, 14:09   #4
kangreon
Форумчанин
 
Аватар для kangreon
 
Регистрация: 03.04.2009
Сообщений: 305
По умолчанию

Чтобы не делать много зопросов к базе данных, можно при любом запросе к базе данных записывать текущее время в какой-нибудь файл на хостинге, а остальные клиенты пусть переодически загружают этот файл, и в случае изменения времени можно делать забпрос к базе данных. Этот способ не устраняет проблему медлительности, но количество запросов к базе данных существенно уменьшится по сравнению с вашим способом.
kangreon вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Запрет создания нескольких копий элемента Авторитет JavaScript, Ajax 0 18.01.2012 14:58
Взаимодействие копий одного приложения Dima DDM Общие вопросы Delphi 7 22.07.2011 17:47
Синхранизация нескольких копий jonsonsbaby Microsoft Office Excel 0 10.02.2011 01:43
Ограничение на кол-во запущенных копий программы seregarem Общие вопросы Delphi 6 04.10.2010 16:15
несколько одновременно работающих копий программы - ? Evgenii Общие вопросы Delphi 3 06.07.2009 09:38