Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Серверные технологии и Flash (http://www.flasher.ru/forum/forumdisplay.php?f=62)
-   -   Загрузка программы (http://www.flasher.ru/forum/showthread.php?t=194595)

Ленок 18.02.2013 10:10

Загрузка программы
 
Привет!

Возникла экзотическая потребность - передавать с сервера на клиент детали программы, практически непосредственно код. Причем он изменяется на сервере.

Как это сделать?

Или, натолкните пожалуйста на верный путь - как это обойти?


Суть задачи:
- алгоритм, по которому работает клиент, реально и существенно изменяется в реальном времени
- об этих изменениях знает сервер
- нужно сделать так, чтобы клиент изменял свое поведение, получая де-факто новые программы от сервера

Среда - Flex/AIR

Первый же напрашивающийся вариант - RPC, кажется не очень подходящим, так как очевидно требует гарантированного короткого (или широкого) канала связи. Возможны неполадки при недоставленных пакетах и т.д.

Что думаете на этот счет, коллеги?

caseyryan 18.02.2013 10:30

Думаю что нужно сделать программу из модулей, и передавать swf файлы с определенным интерфейсом.
Или же вообще пересмотреть подход. Не может же алгоритм меняться кардинально.
Цитата:

алгоритм, по которому работает клиент, реально и существенно изменяется в реальном времени
Не верю, что для этого нужно менять сам алгоритм программы

Hauts 18.02.2013 10:30

Можно подробнее узнать про степень изменения кода? И конкретно про задачу?

Ленок 18.02.2013 10:43

Клиент ведет себя как тонкий клиент, между делом отображая векторные анимации. Анимации создаются и динамически изменяются на сервере. Анимации программируются на AS3.

Продумывали по-всякому, но именно кастомные алгоритмы в ООП и с продвинутой арифметикой придется динамически передавать с сервера и выполнять на клиенте.

Вопрос - как передавать, и RPC, и RESTful с ходу, кажется, взять и применить нельзя.

Добавлено через 50 секунд
RESTful намекает на предварительную реализацию всего на клиенте.
RPC сделает клиента крейзи при плохом канале.

caseyryan 18.02.2013 10:53

Цитата:

между делом отображая векторные анимации
А в чем проблема описать это в xml, например? Пусть клиент читает xml с сервера, и собирает анимации.

Ленок 18.02.2013 11:02

Вопрос: возможно ли передать с сервера на клиент код и выполнить его на последнем?

Если да, то как?

maxkar 18.02.2013 11:07

Вариантов же масса. Можно код на сервере компилировать и передавать готовую swf-ку. Можно передавать описание анимаций/действий и т.п. на клиента и выполнять там, гуглите interpreter pattern, это примерно в том направлении.

Добавлено через 3 минуты
Цитата:

Возможны неполадки при недоставленных пакетах и т.д.
Нет. Не в этом случае. Неполадки возможны, если разработчик не позаботился обработкой ошибок связи. Конкретный используемый транспорт и pattern обмена сообщениями на такие неполадки не влияют. Во всех случаях проблемы доставки сообщений могут возникнуть и во всех случаях есть способы уведомления программного клиента о возникших ошибках.

Ленок 18.02.2013 11:19

Имеется в виду, что клиент должен остаться живым, если недополучил инструкции. С REST это, собственно, работает. С RPC ровно наоборот.

Sync 18.02.2013 23:34

Если клиент тонкий, зачем ему вообще логика?


Часовой пояс GMT +4, время: 01:21.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.