Hallo zusammen,
ich versuche gerade eine Kommunikation zwischen zwei Applets zustande zu bringen. Eine Möglichkeit ist durch statische Variablen, die gefällt mir aber nicht wirklich. Die bessere Möglichkeit ist doch, sich eine Referenz auf das andere Applet über den Appletkontext zu holen. Das funktioniert auch ganz gut. Zumindest, solange die Klassen offen auf dem Server liegen. Wenn die Klassen in zwei Jar-Files gepackt sind, dann lässt sich die Referenz aufs andere Applet nicht mehr auf die entsprechende Klasse casten (ClassCastException). Wohl weil das Interface „TestApplet“ für den Classloader im einen Jar-File nicht gleich dem Interface „TestApplet“ im anderen Jar-File ist. Funktionieren tut die Sache wiederum, wenn ich beide Applets in ein Jar-File lege und bei beiden Applets dieses Jar-File als Archiv angebe. Was passiert dann eigentlich im Browser? Lädt er das Jar-File zweimal runter? Oder erkennt er das, das das das gleiche File ist? Wenn ja wär das wohl die beste Lösung. Kennt sich jemand mit diesem Problem aus? Hat jemand Erfahrungen?
Gruß
Jodus
Moin
Eine Möglichkeit ist durch statische
Variablen, die gefällt mir aber nicht wirklich.
Die funktioniert auch allerhöchstens mit der M$-JVM, das entspricht nämlich nicht dem Standart. (i.d.R. solls eine JVM pro Applet geben => die statischen sind also unterschiedliche)
Funktionieren tut die Sache wiederum, wenn ich
beide Applets in ein Jar-File lege und bei beiden Applets
dieses Jar-File als Archiv angebe. Was passiert dann
eigentlich im Browser? Lädt er das Jar-File zweimal runter?
nein, 1x.
Hat jemand Erfahrungen?
Die Kommunikation zwischen Applets hängt zu 90% von der JVM ab. Wenn du Pech hast du es läuft eine M$-Variante geht gar nix richtig. Das einzige wirklich zuverlässige das unter allen JVM’s geht ist der Weg über den Server. (Mit einem „Relai“ auf dem Server)
cu