小小菜鸟的web菜园子

web开发学习。好记性不如烂笔头。每天进步一点点!

导航

as3连接fms2时总是连接失败的解决办法

_nc.objectEncoding = ObjectEncoding.AMF0;

添加以上代码即可..

objectEncoding 属性   

objectEncoding:uint  [read-write]

语言版本 :  ActionScript 3.0
Player 版本 :  Flash Player 9


此 NetConnection 实例的对象编码(AMF 版本)。 此属性的默认值为 defaultObjectEncoding 的值。 可接受的值为 ObjectEncoding.AMF3 和 ObjectEncoding.AMF0。

如果 ActionScript 3.0 SWF 文件需要与在 Flash Player 9 之前发布的服务器进行通信,则了解此属性非常重要。

当将对象写为二进制数据或从二进制数据读取对象时,objectEncoding 属性将指示应使用哪一个版本的 Action Message Format:ActionScript 3.0 格式 (ObjectEncoding.AMF3) 还是 ActionScript 1.0 或 ActionScript 2.0 格式 (ObjectEncoding.AMF0)。 当使用 NetConnection 对象连接到服务器时,有以下三种方案可用:

独占式连接到同 Flash Player 9 一起发布或在 Flash Player 9 之后发布的服务器,例如 Flex 2。 defaultObjectEncoding 的默认值是 ObjectEncoding.AMF3。 在此 SWF 文件中创建的所有 NetConnection 实例均使用 AMF3 序列化,因此不必设置 Flash Player 应使用哪种 AMF 编码。
独占式连接到在 Flash Player 9 之前发布的服务器,例如 Flex 1.5 和 Flash Media Server 2。 在此方案中,请将静态 defaultObjectEncoding 属性设置为 ObjectEncoding.AMF0。 在此 SWF 文件中创建的所有 NetConnection 实例均使用 AMF0 序列化。 因此不必设置 objectEncoding 属性。
连接到使用不同编码版本的多个服务器。 不使用 defaultObjectEncoding,而是使用每个连接的 objectEncoding 属性设置每个连接的对象编码。 若要连接到使用 AMF0 编码的服务器,例如 Flex 1.5 和 Flash Media Server 2,则将此属性设置为 ObjectEncoding.AMF0;若要连接到使用 AMF3 编码的服务器,例如 Flex 2,则将此属性设置为 ObjectEncoding.AMF3。
更改 defaultObjectEncoding 不会影响现有 NetConnection 实例,只会影响随后创建的实例。

一旦连接到 NetConnection 实例,其 objectEncoding 属性将变为只读。

如果连接服务器时使用了错误的编码,则 Flash Player 将调度 netStatus 事件。 NetStatusEvent.info 属性包含一个信息对象,此信息对象具有值为 NetConnection.Connect.Failed 的 code 属性,并包含说明对象编码不正确的描述。

posted on 2012-03-24 18:49  『小小菜鸟』  阅读(1352)  评论(0编辑  收藏  举报