2009-03-23 8 views

Antwort

1

Ich gehe davon aus, dass die Berechnungen in einem Java-Applet im selben Browser durchgeführt werden, in dem der Flash läuft.

Sie können Javascript innerhalb des Applets mit dem folgenden Code aufrufen. Dieser Code könnte dann die Werte in der Flash-Animation aktualisieren.

Wenn meine Annahme falsch ist, wo wird dann die Java-Anwendung ausgeführt? Auf dem Client oder Server?

Wenn es auf dem Server ist, dann benötigen Sie Flash-Remoting. Ich glaube, es gibt ein paar verschiedene Flash-Remoting-Techniken. Versuchen Sie, nach java flash remoting zu suchen. Sie können den Server alle 2 Sekunden oder so anrufen, um die neuesten Daten zu erhalten.

Wenn es auf dem Client ausgeführt wird, bezweifle ich, dass Sie aus Sicherheitsgründen eine Verbindung von Flash herstellen können. Ein signiertes Java-Applet könnte überall eine Verbindung herstellen. Sie können die Daten damit abrufen und dann mit der oben beschriebenen Methode in Flash verschieben. Wäre aber ein verrückter Hack. Können Sie das Gleiche mit Flex machen? (Ich habe Flex noch nie zuvor benutzt).

1

Wenn die Geschwindigkeit entscheidend ist, möchten Sie wahrscheinlich über eine Art Socket-Verbindung. In der Regel kann ein signiertes Applet oder eine WebStart-Java-Anwendung einen abhörenden Socket öffnen. Flash-Anwendung wäre dann in der Lage, eine Verbindung zu diesem Socket und als Ergebnis haben Sie sehr schnelle bidirektionale Kommunikation.

Es gibt jedoch einige Vorbehalte.

  • Sie sollten bedenken, dass der Benutzer über merkwürdige Socket-Aktivität auf seinem Computer verdächtig werden könnte, oder es würde nur von einer Firewall blockiert werden - so müssen Sie Benutzer warnen.
  • Um eine Verbindung von Flash zu Java herstellen zu können, müssen Sie die crossdomain-Richtliniendatei über den Listening-Socket (oder einen anderen unter 1024) senden (Details siehe Dokumentation; Schlüsselwörter: crossdomain, policy-file-request, loadPolicyFile). Möglicherweise muss Ihre Flash-Anwendung diese Datei auch manuell von der Java-Anwendung anfordern.
  • Ein paar nützliche Links, wie Sie ein Zertifikat für Ihre Java-Anwendung erhalten: how to get free code signing certificate (Russian), similar but less detailed description in English.

    Allerdings, wenn Sie in der Lage sind (zu lesen: die Geschwindigkeit ist ausreichend) Java Applet <-> JavaScript <-> Flash Kombination zu verwenden, würde ich empfehlen, davon zu profitieren.