Adob​​e Air应用程序可以使用p2p吗?

问题描述:

我已经构建了一个使用p2p功能的Flash 10 flex应用程序(我正在使用开发人员密钥连接到stratus),目前一切正常。现在我想让我的应用程序在Adoble Air Runtime上运行,但似乎p2p不适用于Air。Adob​​e Air应用程序可以使用p2p吗?

我可以在Air应用程序中成功连接到Stratus服务器,但在此之后,当我尝试使用NetConnection.nearID时,出现错误: “ReferenceError:Error#1069:在flash.net上找不到属性nearID。 NetConnection并没有默认值。“

我已经试过flex sdk 3.2和3.4,他们都没有工作。有没有人开发过使用p2p的Air应用程序,并且可以提供一些提示?感谢您的帮助〜

这个问题现在已经解决了,flex构建器根本就不聪明,你必须在你选择新版本的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版本确定哪些版本的AIR和Flash Player API可用。如果将SWF9文件用作AIR 1.5应用程序的初始内容,则该应用程序只能访问AIR 1.1和Flash Player 9 API。此外,对AIR 1.5或Flash Player 10中的现有API进行的行为更改将无效。

我遇到同样的问题。我会说,我只是在Linux上体验它的发展。如果我采用相同的代码并在Windows上构建,它可以正常工作。实际上,我可以从Windows生成发布版本,将其移植到Linux,并且可以使用nearID。我可以在Linux上生成一个发布版本,将其导出到Windows,并获得相同的nearID未发现问题。

所以,我相信这是一个构建时间问题。研究表明,如果您针对常规Flex应用程序针对Flash 9进行编译,则会发生相同的错误。我无法想象这是这个问题。 FWIW,我试过了SDK 3.3,3.4,3.5。我也试过Air SDK 1.5,2.0b1和2.0b2。我遇到了所有组合的问题。

您使用什么环境构建应用程序?我几乎希望它不是Linux,因为Adobe几乎已经放弃了Flex Builder for Linux。

+0

感谢您的回复,我也怀疑它可能是编译器相关的问题。 我在Windows中使用Flex Builder 3,情况是,对于同一段代码,Flash版本可以正常工作,但无法正常工作。 除了操作系统的差异,是否有任何其他可能导致此问题的窗口和Linux环境的差异? – Jell 2010-02-13 04:57:32

+0

我一直在分析我的环境超过一个星期,试图弄清楚同样的事情。我也有第二台装有Linux的机器,并且都有同样的问题。如果我弄清楚会不会让你知道。 – Dan 2010-02-13 20:48:42

+0

是的,你关于htmlPlayerVersion的回答确实为我修复了它。非常感谢,这真的让我的项目失去了进展。 – Dan 2010-02-13 23:14:54