Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Flash Приложения: AIR, Zinc и тд. (http://www.flasher.ru/forum/forumdisplay.php?f=94)
-   -   Перезагрузить air приложение (http://www.flasher.ru/forum/showthread.php?t=203131)

vorodis2 02.09.2013 17:59

Перезагрузить air приложение
 
Есть приложение air+away будет работать на десктопе на выставке. Там много всякого функционала и есть вероятность того что приложение вылетит и заглючит.
Задача перезагрузить его? Понимаю что надо что бы это приложения скажем раз в минуту говорило другому приложению что все ок и если не ок то перезагружала его.
Собственно, как организовать данную задачу? На чем нужно писать второе приложение? И вобще куда копать по данному вопросу.

MikroAcse 02.09.2013 18:39

Цитата:

есть вероятность того что приложение вылетит и заглючит
Это зависит только от того, как вы написали приложение.

caseyryan 02.09.2013 18:41

я бы в сторону батника посмотрел (если речь о винде), или стандартный планировщик заданий
а вообще MikroAcse прав.
У меня есть на эйр плееры рекламы, в нескольких магазинах сутками крутятся, и ни разу ничего не вылетало. Уже год почти работают, мы их вообще не выключаем

vorodis2 03.09.2013 11:15

Приложение имеет кучу сложных алгоритмов, тестировать его жестко нет времени, к тому же там постоянно загружаются и выгружаются модели по пол ляма полигонов, я та их чищу но мусор все равно остаются от away. Собственно вот веб версия
http://electroboutique.com/webartomat/index.html

Да речь о винде.
Что то я потерялся с googlom + батника, как то все страшно)) Если не сложно можете дать еще инфы для гугла.
стандартный планировщик заданий, да вариант, но не самый лучший, так как юзер может работать с приложением во время перезагрузки и он очень расстроиться))
В любом случии спасибо за наводки.

C4Grey 03.09.2013 15:59

Перезагрузку приложения доверять ему же - это не совсем верная практика, приложение должно выполнять только свои функции. Если нужно перезагружать регулярно приложение, тогда лучше писать сервис для него, работающий в фоне, и не зависящий от глюков приложения, и всех тех страшных вещей, что с ним может сделать поьзователь :). Ну и, само-собой, автосохранение в async-режиме после каждого чиха. MikroAcse и caseyryan дело говорят - работал с Аway3D(трехмерная витрина для онлайн-магазина, web-приложение), постоянно загружал-выгружал модели, и все нормально, утечек памяти не было. Возможно, модели криво экспортированы, и где-то в процессе импорта или удаления происходит ошибка, в результате которой импортированные вершины не добавляются полностью в некие списки, по которым происходит удаление модели. Возможно, текстуры не очищаются, либо выгружаются только с памяти GPU, а BitmapData остается в оперативной памяти...Советую посидеть с дебаггером и Scout, и загружать-выгружать модели до воспроизведения глюка.

vorodis2 03.09.2013 16:15

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

Приложение А(as3+air) отсылает приложению Б(хз с++?) раз в минуту сообщение что все хорошо, если такое сообщение не приходит то приложение Б перезагружает приложение A.
Собственно вопрос в том как наладить их общение, На чем писать приложение Б, и вообще как подойти к данной задаче.

C4Grey 03.09.2013 16:34

http://ru.wikipedia.org/wiki/Межпроц...взаимодействие
Если нужно быстро и нет времени разбираться в тонокосятх другого ЯП - подойдет вариант реализации приложения для отслеживания статуса на AIR и общение через сокеты(А - клиент, Б - сервер).

caseyryan 03.09.2013 23:19

можно на C# простенький сокет сервер накатать, который и будет мониторить состояние проги, и если надо перезапускать. C# с виндой хорошо интегрируется, и API довольно хороший

vorodis2 03.09.2013 23:42

LocalConnection звучит прекрасно, я что то не подумал, может и прокатит. Мобильного в планах нет.
С сокетами не сильно работал, и мои познания в них слабы, но если LocalConnection не прокатит то буду разбираться. Да наверно C# так как недавно работал с юнити, и хоть какие то познания по синтаксису есть)))

Да а такая вот конструкция, не прокатит:
Я знаю что на флеше 11 можно влесть в С++, и там создать второй поток, и из под него в случии чего перезагрузить приложение. Но это как то сложно и не реально звучит.

caseyryan 04.09.2013 08:31

Цитата:

Но это как то сложно и не реально звучит.
Вот именно. Звучит не реально.


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

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