Frage

Ich versuche, ein Java-Applet zu schreiben, die von einem Benutzer seriellen Schnittstelle lesen. Dazu verwende ich die Java Comm API in Verbindung mit dem RXTX Bibliothek . Ich habe erfolgreich zum Lesen von Daten über eine lokale Java-Anwendung verwaltet, aber ich kann nicht das gleiche aus einem Applet zu tun scheinen. Das Problem ist, dass die RXTX Bibliothek eine native Bibliothek ist, und ich habe nicht einen Weg zu laden diese Bibliothek innerhalb des Java-Applets gefunden. Ich habe zwei interessante Artikel gefunden (Mit JNI in Applets die Verweise auf dieser Artikel ), aber beide sind über 10 Jahre alt und ich frage mich, ob es eine neuere Lösung ist. Oder wenn Sie eine Alternative vorschlagen, würde ich gerne hören!

War es hilfreich?

Lösung

Mit Java Web Start. Sie können die native Bibliothek als signiertes Glas umfassen und alles soll funktionieren.

1) setzen die einheimische librarys in einem Glas in dem Root-Verzeichnis 2) unterzeichnen ALLE Gläser 3) Brief JNLP alle Gläser Referenzierung (gehen Sie eine Suche auf wie jnlp der)

schreiben

nach, dass es sollte funktionieren

Andere Tipps

Als erstes würde ich vorschlagen, dass in einem Applet zu tun ist wahrscheinlich eine schlechte Idee.

Wenn Sie voran gehen sowieso, JNLPAppletLauncher kann helfen.

Ich weiß nicht, über Applets, außer sie sind stark WRT gesperrt. Sicherheit / die Maschine Ressourcen zugreifen etc.

Wenn Sie eine Web-ausfahrbaren Lösung benötigen, haben Sie unter Java Web Start ? Sehen Sie diese FAQ-Eintrag rel="nofollow

Ehrlich gesagt, Geräte von einem Java-Applet zuzugreifen versuchen, ist eine schlechte Idee, auch wenn Sie könnten es funktioniert, und eine dynamische Bibliothek in das herkömmliche Applet geladen ist eine noch schlechtere Idee; in der Tat, würde ich erstaunt sein, wenn Sie einen Weg finden könnten einen modernen Browser zu tun, es zu betrügen. (Beachten Sie die möglichen Auswirkungen auf die Sicherheit.)

Du bist besser dran, als auf anderen Fragen vorgeschlagen, eine App erstellen, die mit Web Start gestartet werden können.

würde ich real in der Antwort interessiert hier auch. Mein Vorschlag wäre, die .jar zu installieren und für RXTX in das Verzeichnis \ Programme \ Java \ Baum .dll. Sie können sie auf dem Zielsystem installieren, bevor Sie das Applet verwenden. Ich mag die Idee der Verwendung von Java Web Start. Wenn Sie das Applet anmelden, können Sie nicht jede Datei auf dem Gerät lesen / schreiben? So könnte man die .jar installieren und .dll und sie dann später verwenden?

Für Fenster, ich schlage vor, mit "Windows Java seriellen COM-Port-Treiber" und nicht als rxtx. Sie können es herunterladen von http://www.engidea.com/blog/informatica /winjcom/winjcom.html Ich habe es viel einfacher gefunden zu installieren und zu verwenden und vieles mehr fehlerfrei. Ich war nicht in der Lage RXTX mit seriellen Geräten USB zu verwenden, da RXTX würde abstürzen, wenn der USB-Anschluss nicht angeschlossen war. winjcom gelöst, diese Probleme für mich, und vieles mehr.

Ich versuche immer noch zu entscheiden, wie die DLL zu implementieren, aber ich schwitze es nicht, weil ich die DLL für „Windows Java serielle COM-Port Driver“ zu ändern, nicht erwarten. -Stosh

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top