Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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.11 c
15-1346305970
ZeroDivide
2012-08-30 09:52
2013.03.22
Современный смартфон с долгой батарейкой. Есть такие?


3-1277797743
Axe
2010-06-29 11:49
2013.03.22
ошибка поключения Ms Sql


15-1345037851
Artem
2012-08-15 17:37
2013.03.22
Посоветуйте фоторесайзер любых размеров.


15-1331384899
Дмитрий С
2012-03-10 17:08
2013.03.22
Блокировка файла.


2-1338469988
>|<
2012-05-31 17:13
2013.03.22
напомните синтаксис измерения размеров массива





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский