【问题标题】:AS3 to Java serializationAS3 转 Java 序列化
【发布时间】:2011-07-04 08:53:49
【问题描述】:

我想要一个框架来使用套接字在 Java 和 AS3 之间传递对象。它应该是具有良好性能的东西(不是 XML、JSON)。我研究过 AMF,但所有教程都非常复杂,而不是关于我需要什么。我已经使用 java 到 java 序列化,但我找不到任何关于 Java 到 AS3 的教程。

有谁知道好的教程吗?

【问题讨论】:

  • AMF 肯定是当时的务实之道。你有什么不能使用 BlazeDS 的原因吗?
  • 没有理由。我只是找不到任何教程。

标签: flash apache-flex actionscript-3 serialization amf


【解决方案1】:

对于快速、高效的跨语言序列化,您可以考虑Protocol Buffers。 Java 是协议缓冲区的一流支持语言,而 ActionScript 则有 third-party add-ons

【讨论】:

  • 我之前尝试过 protoc-gen-as3 但从未让插件工作。主要是因为文档是中文的,缺乏。
【解决方案2】:

您也可以为此使用 BlazeDS 消息服务。

除非您真的对套接字有特殊需求,否则这绝对是一个飞跃。 它可以被视为创建 flex-java 应用程序的“标准”。
它具有所有钩子,可以轻松创建开箱即用的 AMF 支持的应用程序。

BlazeDS 还可以与 Spring、Maven 等其他技术很好地集成......

您可以通过一些基本的谷歌搜索轻松找到一些教程:

http://learn.adobe.com/wiki/display/Flex/Creating+a+BlazeDS+messaging+application+in+Flex+Builder
http://sebastien-arbogast.com/2008/04/10/flex-spring-and-blazeds-the-full-stack/
http://www.horochovec.com/2010/03/29/flash-builder-flex-sdk-4-java-blazeds-tutorial/

【讨论】:

  • 这在流量非常高的多人游戏环境中效果如何?
  • 不是非常好,因此声明“除非你真的对套接字有特殊需求”。在您的情况下,您可能需要实时连接,在这种情况下,BlazeDS 就不会切断它。 LCDS 可能,但恕我直言太贵了。
  • 我猜 Protocol Buffers 是更好的选择。
  • 您还可以通过二进制套接字发送 AMF 数据。您甚至可以使用 blazeDS 序列化/反序列化 jar 来为您处理序列化。有一个名为 Merapi => code.google.com/p/merapi 的开源工具使用了这个原理。也许您可以查看源代码并从那里开始。
  • 这里有不同的问题:服务器负载、网络流量。我怀疑您是否存在与数据压缩格式相关的问题(并选择协议缓冲区而不是 amf 或 hessian)。大多数情况下,我认为您需要一个高性能的消息传递服务器。
【解决方案3】:

如果您想要多人流媒体服务器,我建议您查看SmartFoxServerWowza。 SmartFox 具有更多的“游戏”优势,而 Wowza 则是更通用的流媒体。我相信 Wowza 也是亚马逊云服务的一部分,这意味着启动成本低。

【讨论】:

    【解决方案4】:

    我最终使用了 BlazeDS 中处理 Java AMF 解码和编码的部分(flex-messaging-common.jar 和 flex-messaging-core.jar)。 http://www.riaspace.com/2010/02/java-as3-serialization-with-amf/ 在那里提供了帮助。

    也是一个相关话题:AS3 unable to decode AMF3 object from socket sent by Java

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-10-16
      • 1970-01-01
      • 2011-11-21
      • 2013-01-08
      • 1970-01-01
      • 1970-01-01
      • 2013-03-25
      相关资源
      最近更新 更多