我有 Java 和 Flash 客户端应用程序。如果没有特殊的 Flash 专用服务器(例如 BlazeDS 或 Red5),两者进行通信的最佳方式是什么?我正在寻找一个轻量级的仅限客户端的解决方案。
5 回答
好吧,您可以从 flash 向任何 url 发出 http 请求……因此,如果您的 java 服务器可以侦听传入请求并处理 XML 或 JSON,则您的 flash 客户端可以向该 url 发出请求。BlazeDS 和 Red5 只是旨在通过为您处理翻译来使其更简单,从而可以透明地调用服务器端函数。
它们是在浏览器(小程序和 SWF)中运行,还是独立的应用程序?
如果它们在浏览器中运行,那么您可以使用 javascript。Flash 和 Java 都可以访问 javascript。它很脆弱,但它有效。
如果它们作为实际应用程序运行,那么您可以让 Java 在某个端口上打开套接字连接。然后 Flash 可以连接到它,它们可以来回发送 XML 数据。
这两个我都做过,所以我知道它们都有效。javascript 的东西很脆弱,但套接字的东西工作得很好。
WebORB for Java 可能对您有所帮助。它与您的 J2EE 代码集成。
欲了解更多信息: http ://www.themidnightcoders.com/weborb/java/
对不起,我重读了您的问题,您只是在寻找客户端解决方案。在这种情况下,WebORB 将无法帮助您。很抱歉对于这个误会。
默拉皮桥 API
Merapi 允许开发人员将用 Adobe Flex 编写的 Adobe AIR 应用程序连接到在用户本地计算机上运行的 Java 应用程序。
Caucho 的Hessian Web 服务协议有一个 Flash 实现。这种方法类似于使用 JSon 或 XML,但性能更高,因为 Hessian 是一种二进制协议。如果您碰巧在您的服务器上使用 Spring,您可以使用 Spring/Hessian 绑定直接从您的 Flash 应用程序调用您的 Spring 服务,而工作量很小。