Может ли приложение Adobe Air использовать p2p? - PullRequest
1 голос
/ 11 февраля 2010

Я уже создал приложение flash 10 flex, которое использует функцию p2p (я использую ключ разработчика для подключения к stratus), в настоящее время все работает нормально. Теперь я хочу, чтобы мое приложение работало в Adoble Air Runtime, но кажется, что p2p не работает для Air.

Я могу успешно подключиться к серверу stratus в приложении Air, но после этого, когда я пытаюсь использовать NetConnection.nearID, возникает ошибка, говорящая: «ReferenceError: Ошибка № 1069: свойство nearID не найдено на flash.net.NetConnection и значение по умолчанию отсутствует.»

Я пробовал flex sdk 3.2 и 3.4, и ни один из них не работает. Кто-нибудь когда-либо разрабатывал Air Application, который использует p2p и может дать какие-то подсказки? Спасибо за помощь ~

Ответы [ 2 ]

1 голос
/ 13 февраля 2010

Теперь проблема решена, Flex Builder совсем не умен, вам нужно вносить изменения вручную после выбора новой версии SDK. Следующие 2 файла должны быть изменены:

1.Дескриптор файла, используйте xmlns = "http://ns.adobe.com/air/application/1.5.3"

2.Файл .actionScriptProperties в пути проекта, используйте htmlPlayerVersion = "10.0.0"

Подробнее см. http://help.adobe.com/en_US/AIR/1.5/devappsflex/WS5b3ccc516d4fbf351e63e3d118666ade46-7ff1.html Для приложений на основе SWF версия среды выполнения AIR, указанная в дескрипторе приложения, определяет максимальную версию SWF, которая может быть загружена в качестве исходного содержимого приложения. Приложения, в которых указана версия AIR 1.0 или AIR 1.1, могут использовать только файлы SWF9 (Flash Player 9) в качестве исходного содержимого - даже при запуске с использованием среды выполнения AIR 1.5. Приложения, для которых установлен AIR 1.5 или более поздней версии, могут использовать файлы SWF9 или SWF10 (Flash Player 10) в качестве исходного содержимого. Версия SWF определяет, какая версия API AIR и Flash Player доступна. Если файл SWF9 используется в качестве начального содержимого приложения AIR 1.5, это приложение будет иметь доступ только к API-интерфейсам AIR 1.1 и Flash Player 9. Кроме того, изменения поведения, внесенные в существующие API в AIR 1.5 или Flash Player 10, не будут эффективными.

1 голос
/ 12 февраля 2010

У меня такая же проблема. Я скажу, я только испытываю это развитие на Linux. Если я беру тот же код и собираю на Windows, он работает нормально.

Фактически, я могу произвести сборку релиза из Windows, переместить ее в Linux, и NearID доступен. Я могу произвести сборку релиза для Linux, экспортировать ее в Windows, и у меня возникает та же проблема nearID not found.

Итак, я убежден, что это проблема времени сборки. Исследования показывают, что эта же ошибка возникает при компиляции с Flash 9 для обычного приложения Flex. Я не могу себе представить, что это проблема здесь. FWIW, я пробовал SDK 3.3, 3.4, 3.5. Я также пробовал Air SDK 1.5, 2.0b1 и 2.0b2. У меня проблема со всеми комбинациями.

Какую среду вы используете для создания своего приложения? Я почти надеюсь, что это не Linux, потому что Adobe почти отказалась от Flex Builder для Linux.

...