如何让SWF文件立即从进行实时计算的Java应用程序中检索值(速度是必需的)。
其他形式的问题:我怎么能 给我的网站浏览器立即数据 - 这是现在计算的bean - 和我一样快 可以?
答案 0 :(得分:1)
我将假设计算是在运行闪存的同一浏览器中的Java小程序中完成的。
您可以使用以下代码从小程序中调用Javascript。然后,此代码可以更新flash动画中的值。
import netscape.javascript.JSObject;
JSObject win = JSObject.getWindow(applet);
win.eval("window.alert('Hello from Java')");
如果我的假设不正确,那么Java应用程序在哪里运行?在客户端或服务器上?
如果它在服务器上,那么您需要Flash远程处理。我相信有一些不同的Flash远程处理技术。尝试搜索java flash remoting。您可以每隔2秒左右调用服务器以获取最新数据。
如果它在客户端上运行,我怀疑你是否可以因为安全性而从Flash连接到它。签名的Java小程序可以连接到任何想要的位置。您可以使用它检索数据,然后使用上述方法将其推送到Flash中。虽然会是一个疯狂的黑客。你能用Flex做同样的事情吗? (我之前从未使用过Flex。)
答案 1 :(得分:1)
如果速度至关重要,您可能希望通过某种套接字连接来实现。通常签名的applet或WebStart Java应用程序能够打开侦听套接字。然后,Flash应用程序将能够连接到此套接字,因此您将具有非常快速的双向通信。
然而,有一些警告。
有关如何获取Java应用程序证书的一些有用链接:loadPolicyFile,how to get free code signing certificate (Russian)。
但是,如果你能够(阅读:速度足够)使用Java Applet <-> JavaScript <-> Flash
组合,我建议你利用它。