小程序间通信

时间:2010-04-12 13:27:50

标签: java applet

据我所知,每个applet都是独立的实体。是否有可能 小程序间沟通? 。如果是这样,它是如何实现的?

由于 Ĵ

5 个答案:

答案 0 :(得分:6)

是。如果它们位于同一页面上且来自同一域,则可以实现applet间通信。您必须首先使用属性“name = value”命名页面中的小程序,如:

<applet code="FirstApplet.class" name="firstApplet" width=nn height=nn></applet>
<applet code="SecondApplet.class" name="secondApplet" width=nn height=nn></applet>

如上所述,在FirstApplet.java中,使用以下命令访问SecondApplet:

SecondApplet secondApplet =
         (SecondApplet)getAppletContext().getApplet("secondApplet");
//invoke a method on secondApplet here

同样,您可以访问SecondApplet.java中的FirstApplet

答案 1 :(得分:1)

是。您可以使用Cookie,详见this previous answer

答案 2 :(得分:0)

两个不受信任的applet无法进行通信。唯一的例外是它们是从同一个网站发布的。这将允许他们使用对该站点的HTTP请求进行通信,或者(如@Matthew所述)通过在本地cookie存储区中设置和读取cookie进行通信。

答案 3 :(得分:0)

同一Applet上下文中的两个applet可以轻松地进行通信。不幸的是,没有记录确定两个applet是否在同一个上下文中。实现可能会出现令人惊讶的事情,特别是在处理错误或耗尽的资源条件时。

一般情况下,您应该使用LiveConnect返回浏览器进行通信,正如Matthew Flaschen所说的那样。

您可以更进一步并与原始服务器进行通信。即使小程序是从不同的主机下载的,也可以在两个来源之间建立通信路径。 HTTP或非常好的HTTPS应该是与服务器通信的可靠方式。

答案 4 :(得分:0)

还有更多方法可以在两个applet之间进行通信。我没有接受代码。只是提到方法, - 使用Javascript - 静态变量 - Singleton对象 - RMI