Выполнение JVM из компонента MXML

Размышление за пределами поля здесь...

Какие возможные основные подходы могли быть проявлены, чтобы создать компонент Flex, который мог выполнить Java?

Я знаю, что могу легко использовать гибкий провод, чтобы просмотреть к или запустить приложение Java, но существуют вещи, которые я могу только сделать, если я могу выполнить Java ИЗ компонента MXML.

Я самый строгий смысл, я знаю, что это не невозможно (т.е.: если у Вас был весь исходный код для гибкого провода и для jvm), но каковы наименее непрактичные средства с этой целью?

Править: Много людей интересуется причиной, ПОЧЕМУ кто-то мог бы хотеть сделать это. Я рассматриваю его как не важный тому, КАК сделать это, но здесь иду: у Меня есть более чем 100 собственных читающих пиксель Windows-программ, которые я мог портировать на Mac таким образом, намного легче, чем какой-либо другой путь. Но вместо того, чтобы обсудить помещение, ответ победы проигнорирует причины, почему, и фокусируются на КАК.

Продемонстрируйте свою креативность.

1
задан Joshua 7 June 2010 в 15:39
поделиться

5 ответов

Некоторое время назад я прототипировал что-то вроде этого. Я представил оконное / собственное приложение через сервер VNC, а затем использовал клиентскую библиотеку VNC с открытым исходным кодом для подключения к серверу VNC. Это было абсолютно взломано, но это сработало. Производительность была невысокой, но ее можно было использовать. Вот клиентская библиотека Flash VNC, которую я использовал: http://www.wizhelp.com/flashlight-vnc/index.html

0
ответ дан 3 September 2019 в 00:06
поделиться

Для меня это звучит безумно безумно. Мой ответ - не идти по этому пути. Это может быть забавная техническая задача для развлечения; но я вижу небольшую практическую ценность.

Ответьте на вопрос: «Зачем вам нужно запускать JVM внутри приложения Flex?»

Кроме того, как бы вы использовали приложение Flex для просмотра или запуска приложения Java? Насколько я понял, песочница безопасности браузера не позволяет вам запускать другие локальные приложения.

1
ответ дан 3 September 2019 в 00:06
поделиться

Я с Flextras, вам нужно объяснить , почему , прежде чем можно будет предложить разумное решение.

Необоснованное решение:

Внедрить jvm в AS3. Считывать jar-файлы как байтовые массивы. Передайте массивы байтов новому jvm.

Причины необоснованности:

  • Внедрение даже частичной jvm потребовало бы не менее тысячи человеко-часов работы.
  • Запуск виртуальной машины внутри и без того (относительно) медленной виртуальной машины Flash был бы похож на поездку на тележке для гольфа, которую буксирует черепаха: любая из них сама по себе будет быстрее.
0
ответ дан 3 September 2019 в 00:06
поделиться

Вы можете взаимодействовать между Air и Java-приложением, используя merapi (хотя это только взаимодействие, а не фактический запуск api внутри Air)

0
ответ дан 3 September 2019 в 00:06
поделиться

Я не верю, что вы правы в том, что не можете выполнить определенные действия, которые вы «можете делать только в том случае, если я могу запустить Java из ВНУТРИ компонента MXML». При правильной настройке связи вы можете просто обмениваться данными между апплетом и SWF посредством внешнего набора процессов.

Самый простой способ добиться этого - «подделать». Загрузите Java-апплет (это должно быть возможно при использовании SWF ExternalInterface API - сгенерируйте тег Object и добавьте его в HTML вокруг swf. Чтобы сделать это еще более убедительным, используйте CSS, чтобы апплет отображался «сверху» файла swf.), и пусть он взаимодействует с исходным swf через вызовы JavaScript. Если это невозможно, то может быть возможно, чтобы Java-апплет сгенерировал некоторую форму псевдосервера, с которым затем мог бы взаимодействовать swf.

Если ни один из них не работает, то всегда существует синтаксис байтового массива SWF. Ему нужно будет загрузить ByteArray, обработать внутренние данные, а затем отправить его ... каким-то образом.

1
ответ дан 3 September 2019 в 00:06
поделиться
Другие вопросы по тегам:

Похожие вопросы: