Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > C/C++: Общие вопросы > Синхронизация данных между клиентами |
Автор: transserg 9.2.2012, 17:32 |
Доброго вечера всем. прошу совета по реализации такой программы. Будет простая бд на sqlite(в будущем может заменится на что то другое). приложение написанное с использование Qt для работы с этой бд. загвоздка заключается в следующем. это приложение будет работать на несольких пк находящихся в сети(машины разносортные системы на них тоже) нужно как то организовать синхронизацию этой бд между пользователями. была идея по сокетам соеденить всех клиентов между собой и при иземенении данных оповещать соседей. есть ли для этого более верные подходы? использовать рбд типа mysql не рационально ибо компов всего 3. запостил в общее так как тут и бд и сети. |
Автор: newbee 9.2.2012, 17:49 |
А тут и mysql не поможет, если я правильно поняла проблему: несколько клиентов показывают и модифицируют данные в одной базе, при изменении данных через одну программу, остальные клиенты должны тут же об этом узнать. Это делается так: пишется программа-сервер и только она одна работает с этой базой. Клиенты подключаются к этому серверу и посылают запросы через него. Когда клиент посылает запрос на модификацию данных, сервер пинает остальных клиентов и сообщает им об изменениях. |
Автор: transserg 9.2.2012, 18:04 |
нет. =) база у каждого клиента своя. но на всех клиентах нужно сделать чтоб данные были идентичны. один изменил у себя. остальные подтянули с него изменения. |
Автор: tzirechnoy 9.2.2012, 18:53 | ||
А смысл? Ну, то есть, теоретически, можэт быть... Но если Вы дажэ не знаете с какой стороны к этой задаче подойти -- это как человеку, который до этого ползал только в Москве на скалодроме, переться на К-2. Положыте один файл на каком-нибудь файл-сервере, чтобы все им пользовались (или запустите mysql/postgres/firebird). sqlite вполне работает при наличии файловых блокировок. |