Форум: "Начинающим";
Текущий архив: 2013.03.22;
Скачать: [xml.tar.bz2];
Вниздождаться завершения установки Найти похожие ветки
← →
solovei (2012-07-16 18:43) [0]Приложение-клиент (компьютер 1) подключается к приложению-серверу (компьютер 2). В определенный момент времени клиент и сервер запускают каждый у себя на компьютере программу установки. Нужно каким-то образом гарантировать, чтобы сначала завершалась программа установки запущенная сервером, а только потом программа установки, запущенная клиентом.
Для чего это надо:
1. Сервер запускает программу установки
2. Клиент запускает программу установки
3. Клиент закрывается
4. Сервер завершает программу установки
5. Сервер перезапускается
6. Клиент завершает программу установки
7. Клиент перезапускается
8. Клиент подключается к серверу
При подключении клиента к серверу проверяется, чтобы их номера версий совпадали. Если программа установки, запущенная клиентом завершиться раньше, приложение перезапуститься и при попытке подключения выдаст ошибку несовместимости версий. Что посоветуете?
← →
Юрий Зотов © (2012-07-16 21:18) [1]1. Сервер запускает программу установки.
2. Сервер завершает программу установки и прописывает у себя свою новую версию.
3. Сервер перезапускается, завершая все сеансы клиентов.
4. Каждый клиент при своем следующем запуске видит несоответствие версий и запускает программу установки.
5. Клиент закрывается.
6. Клиент завершает программу установки и прописывает у себя свою новую версию.
7. Клиент перезапускается.
8. Клиент подключается к серверу.
← →
AV © (2012-07-17 16:48) [2]+1
т.е.
Сервер живет сам по себе, ни на кого не равняется, надо поставить обновление - ставит.
Клиент получает обновления, но не ставит их, пока не возникнет конфликт версий. Как только конфликт возник, начинает ставить по очереди получения, либо по очереди, пронумерованной как-либо еще. После каждого обновления - попытка соединиться.
но,
> 4. Каждый клиент при своем следующем запуске видит несоответствие
> версий
и тут он и
>> выдаст ошибку несовместимости версий.
Которую, как понимаю, автор и пытается избежать.
> Что посоветуете?
изначально заложить систему обмена сообщениями о версии.
С версии 1.0 и клиент, и сервер должны уметь договорится, на какую версию надо перейти клиенту. И это должно быть неизменно на будущее.
Предположим, что клиент долго не был(в армию ушел :)).
Сервер апнулся на 50 версий за это время, клиент должен все равно его понимать и, возможно, просить сразу 50ую версию для себя на скачивание.
← →
Медвежонок Пятачок © (2012-07-17 16:59) [3]Сервер апнулся на 50 версий за это время, клиент должен все равно его понимать и, возможно, просить сразу 50ую версию для себя на скачивание.
все правильно, только всё наоборот.
сервер версии XXX должен понимать все версии клиентов, которые существовали нав момент написания этого сервера.
← →
Юрий Зотов © (2012-07-18 00:00) [4]
> и тут он и выдаст ошибку несовместимости версий.
Нет. Вместо выдачи ошибки он запустит свое обновление. И на уровне получения информации о версиях (но не на уровне функционала) в любом случае придется обеспечить гарантированную совместимость любой версии клиента и любой версии сервера. Неизбежно, но несложно.
← →
Германн © (2012-07-18 02:25) [5]
> Сервер апнулся на 50 версий за это время, клиент должен
> все равно его понимать и, возможно, просить сразу 50ую версию
> для себя на скачивание.
>
>
> все правильно, только всё наоборот.
> сервер версии XXX должен понимать все версии клиентов, которые
> существовали нав момент написания этого сервера.
>
Вот что было первично? Яйцо или курица?
:)
← →
Медвежонок Пятачок © (2012-07-18 10:31) [6]с точки зрения того, что клиент просто просит, а сервер должен понять что от него хотят и выполнить это, то первой была курица (сервер)
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2013.03.22;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.113 c