正在加载...

回头再看半年前的日志,忍不住鄙视一下当年的草率:

ExternalInterface API适合于复杂的数据结构,而我的毕业设计项目中的数据结构根本用不着EI API;ExternalInterface API由于底层基于XML的“Serialization”比较笨重,如果要传输大量数据,会影响效率,我的毕业设计项目恰好要以每秒30帧的速率在Flash-VC之间传输坐标数据。当然,这种需求在普通开发中不会遇到。而在普通开发中,保留数据结构的统一性和程序的简易性显然要更重要。

=====时隔N年的分割线====

由于毕业设计项目需求,要用VC++与Flash进行复杂的交互。因此想尝试fscommand以外的方法,我毅然选择了新出的ExternalInterface。一方面为了察看新功能的功效,一方面用来为部署复杂、高效的交互作探索。

首先下了一个demo直接打开,后来发现必须在http协议下才可以成功,原因是javascript的一个特性貌似必须在后者调用时才能发挥功效。

刚刚在某英文blog看见ExternalInterface通信底层(serialization)全部都是XML格式,难道效率还不如fscommand么……迫切希望得到例程……痛苦ing

If you try to pass data from ActionScript to any other host enviroment except a Browser, data would be passed as XML string. You would then be required to parse the XML structure and create objects of types mentioned in XML structure.

译:如果你尝试用AS向浏览器以外的其他载体发送数据,所有的数据类型将隐蔽并转化为XML串发送。所以需要在容器端解析XML,并且按照XML结构中的描述恢复各类对象[/quote]具体的转换过程,那片blog中提到一个“Serialization”的词汇,我看了一下发现就是封装XML….

引用自
.NET Framework通过Reflection提供自动Serialization的机制。当一个对象被序列化(Serialized)的时候,它的类名,Assembly,以及类实例的所有数据成员都将被写入存储介质(aw附:XML)中。Serialization引擎保持对所有已经被序列化的对象引用的追踪,以确保相同的对象引用最多只被序列化一次。

如果真的是这样,那我觉得ExternalInterface仍然是一个美丽的谎言,仍然还是尊javascript为老大的开发思路。sigh…也不知道传统的fscommand能否胜任。

如果毕业设计项目最终确定为fscommand,此贴将沉一段时间(等我有空关注Javascript+External)

还没找到您要的东西?Google试试看吧,
Google更注重原创、时效性好的文章:


本文相关评论: 才 7 条评论
  1. 淫听羽息 2006-03-03 09:39:37

    强……佩服一把

  2. 漫步水中的鱼 2006-03-03 10:33:31

    发现完全看不懂 [cry]

  3. Neo 2006-03-04 12:12:19

    Zinc已经发到您邮箱 请注意查收~

  4. aw 2006-03-04 01:19:37

    thanks Neo ^____^

  5. DaH 2006-03-06 05:59:37

    .NET的Webservice挺流行,也很容易用..

  6. aw 2006-03-06 07:35:22

    to DaH。

    .net太贵了……

  7. jiagao 2006-03-08 10:32:25

    复杂规范的交互建议还是试试ExternalInterface吧。有机会交流一下。

[支持Ctrl+Enter]为了我们大家和家人的安全,留言请慎重!
声明:
1、本站仅与见过面的个人博客交换链接,见此文
2、留言时的头像是Gravatar提供的服务。如果您有兴趣并且有闲暇时间,可以看看这里的介绍