-
> Медвежонок Пятачок © (11.12.09 09:42) [19] > один конкретный переписчик может закончить свою работу раньше > всех остальных. затем он может приехать в центр, слить данные > и уехать к теще на два часа переставить холодильник. > в это время в центре могут появиться данные остальных переписчиков > а сами они уже могут отсутствовать в центре. > > и тот первый, который передвигал холодильник теще, должен > иметь возможность получить консолидированные данные с сервера, > ибо они там уже есть. > > не надо требовать от него присутствия на акте коллективного > камлания.
Совершенно с Вами согласен именно это и имелось в виду (прошу прощения за корявость мною написанного мне казалось я понятно написал). синхронизация отдного ноута уже написана и нормально работает, но вот в чем затыка: пришел первый ноут и провел синхронизацию и остался подключенный на ночь, затем пришел второй и теперь он засинхронизировался с сервером а потом как сказать первому что есть новые данные(это гемморно но решается) и потом второй раз первому ноуту синхронизироваться с сервером, потом пришел третий и т.д. а если сразу знать кто подключен то можно парралельно было бы писать и на сервер и на первый ноут и т.д. вот в чем собственно и вопрос. сокеты чем хороши (на мой взгляд) легкое оповещение кто жив кто нет и не напряжное обеспечение передачи данных. хотя про мидас обязательно почитаю.
-
> как сказать первому что есть новые данные
Не надо ему ничего говорить.
Ничего страшного не случится, если он пропустит самые свежие новости с сервера.
Придет в след.раз, подключится к серверу, узнает все изменения на сервере, произошедшие с момента предыдущего сеанса связи, и соотв-но передаст все свои изменения за тот же межсеансовый период.
-
а потом как сказать первому что есть новые данные
ему не надо говорить что есть новые данные.
у ноута должна быть кнопка "дай мне все новые данные, что у тебя есть на сейчас"
-
> Ничего страшного не случится, если он пропустит самые свежие > новости с сервера.
в том то и дело что к утру данные должны быть синхронизированны на всех ноутах и сервере. а лишнее обновление это процесс не быстрый к сожалению
-
> обновление это процесс не быстрый
Какой разработчик - такой и процесс не быстрый. У грамотного разработчика "процесс" пройдет быстро и безболезненно для всех заинтересованных фигурантов.
-
> к утру данные должны быть синхронизированны на всех ноутах
Что страшного в том, что по утрянке на ноутбуке 1 по какой-либо уважительной причине не окажется свежих данных о БабеКлаве, к которой вчера ходил ноутбук 2, получил о ней эти данные и передал их вечером того же дня на сервер ?
Придет ноутбук 1 по утру след.дня к той же БабеКлаве, получит данные (возможно уже обновленные, например, БабаКлава вполне могла до утра не дотянуть) и текущим вечером передаст их серверу.
Текущим вечером сервер получит от ноутбука 1 данные, увидит что по более ранним (текущим, т.е. полученным прошлым вечером от ноутбука 2) данным БабаКлава была жива-здорова, а по только что поступившим от ноутбука 1 данным она преставилась. С этого момента сервер и ноутбук 1 считают БабуКлаву благополучно отошедшей в мир иной. Ноутбук 1 спокойно и с чувством выполненного долга идет домой отдавать другие долги.
Этим же вечером, но часом позже к серверу является ноутбук 2 и заявляет, что БабаКлава жива и даже порозовела от счастья что ее уже дважды навестили участливые ноутбуки. Сервер при попытке воскресить бабулю видит очевидную лажу-нестыковку и протоколом сообщает об этом ноутбуку 2. Если у того есть полномочия для воскрешения, сервер правит у себя соотв.запись и отныне БабаКлава для всех воскресла, в противном случае БабаКлава объявляется почившей и в локальной базе ноутбука 2.
-
> bob (11.12.2009 11:36:20) [20]
Не надо, надо прежде чем уносить сделать синхронизацию на текущий момент времени.
-
> bob (11.12.2009 12:26:23) [23]
Значит пусть приходят ночью и синхронизируют и утром еще раз.
|