[AS3]as3连fms失败的解决办法
_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 属性,并包含说明对象编码不正确的描述。
热门文章推荐
- [HLS]做自己的m3u8点播系统使用HTTP Live Streaming(HLS技术)
- [FMS]FMS流媒体服务器配置与使用相关的介绍
- [AS3]什么是M3U8,与HTML5的区别是什么
- AS2.0 让flash自适应全屏,并且不自动缩放
- [AS3]as3.0的sound类常用技巧整理
- [AS3]as3与ByteArray详解、ByteArray介绍、ByteArray用法
- 关于RTMP,RTMPT,RTMPS,RTMPE,RTMPTE协议的介绍
- [JS]分享浏览器弹出窗口不被拦截JS示例