在没有Flash特定服务器的情况下在Java和Flash之间进行通信

时间:2020-03-06 14:27:02  来源:igfitidea点击:

我有Java和Flash客户端应用程序。在没有特殊的Flash特定服务器(例如BlazeDS或者Red5)的情况下,两者进行通讯的最佳方法是什么?我正在寻找一个轻量级的仅客户端解决方案。

解决方案

好吧,我们可以从闪存向任何URL发出HTTP请求...因此,如果Java服务器有一个点可以监听传入的请求并处理XML或者JSON,则Flash客户端只需向该URL发出请求。 BlazeDS和Red5的目的只是通过为我们处理翻译来使其更简单,从而可以透明地调用服务器端函数。

适用于Java的WebORB可能会对我们有所帮助。它与J2EE代码集成在一起。

有关更多信息:
http://www.themidnightcoders.com/weborb/java/

抱歉,我重新阅读了问题,即我们仅在寻找客户端解决方案。在这种情况下,WebORB将无法为我们提供帮助。很抱歉对于这个误会。

它们是在浏览器(小程序和SWF)中运行还是它们是独立的应用程序?

如果它们在浏览器中运行,则可以使用javascript。 Flash和Java都可以访问javascript。它很脆弱,但是有效。

如果它们作为实际应用程序运行,则可以让Java在某个端口上打开套接字连接。然后Flash可以连接到该连接,并且它们可以来回发送XML数据。

我已经完成了这两项工作,所以我知道它们都可以工作。 javascript东西很脆弱,但是套接字的东西工作得很好。

Merapi Bridge API

Merapi allows developers to connect Adobe AIR applications, written in Adobe Flex to Java applications running on the user's local computer.

有一个Caucho的Hessian网络服务协议的Flash实现。这种方法将类似于使用JSon或者XML,但性能更高,因为Hessian是二进制协议。如果我们恰巧在服务器上使用Spring,则可以使用Spring / Hessian绑定以最少的工作直接从Flash应用程序中调用Spring服务。