PDA

View Full Version : [JAVA] Applet e porte seriali


sonic85
16-11-2009, 11:25
Ciao a tutti,
ho un problema... ho sviluppato un programma in Java per che legge dei dati da un dispositivo collegato a porta seriale grazie alla librerie RXTX e funziona perfettamente.
Ora però vorrei creare un'applet come interfaccia per gestire il tutto da browser includendo le classi che ho sviluppato per la applicazione standaralone.
Già alle prime operazioni, quali ad esempio selezionare la porta, mi sono bloccato con mille problemi.
Ho letto qualcosa in rete a riguardo della necessità di certificati per poter utilizzarare le periferiche dei pc dove si manda in esecuzione il programma ma non ci ho capito molto!

Qualcuno mi può aiutare con qualche dritta??:help: :help:

fero86
16-11-2009, 13:47
Ho letto qualcosa in rete a riguardo della necessità di certificati per poter utilizzarare le periferiche dei pc dove si manda in esecuzione il programma ma non ci ho capito molto! hai letto bene: quello che vuoi fare richiede l'uso di librerie native, le quali per quanto ne sa l'utente potrebbero anche prendere il possesso della macchina; non é carino che un sito web faccia queste cose, di conseguenza un applet puó farle solo se le librerie native che usa sono firmate (non so se queste RXTX lo sono, quindi non é detto che quello che chiedi si possa fare).
inoltre ti sará necessario fare il deploy tramite Java Web Start: http://java.sun.com/javase/6/docs/technotes/guides/javaws/developersguide/contents.html

ally
16-11-2009, 16:06
...qualche spunto (http://forum.html.it/forum/showthread/t-1080115.html)...

...ciao Andrea...

fero86
16-11-2009, 16:23
...qualche spunto (http://forum.html.it/forum/showthread/t-1080115.html)... ammazza che ninjata, ha firmato l'applet e poi ha impostato a null il SecurityManager :asd:

ally
17-11-2009, 08:43
ammazza che ninjata, ha firmato l'applet e poi ha impostato a null il SecurityManager :asd:

...eh eh...mi sa che ho sbagliato link (http://forums.sun.com/thread.jspa?threadID=575880)...

...ciao Andrea...

sonic85
20-11-2009, 15:02
Grazie mille!!Scusate ma sono tornato ora da una sett di ferie!:D
siete stati molto gentili!
In effetti certificando funziona tutto!

Sapete se è possibile automatizzare l'operazione di certificazione dell'applet con IDE come Netbeans?

perchè è piuttosto lungo il procedimento di firma e se devo ripeterlo anche per piccole modifiche al codice è molto dispendioso come tempi.

sonic85
09-12-2009, 17:32
Altro problema : :doh: :doh:

Ho fatto tutto il necessario per far funzionare l'applet per utilizzarla con le porte seriali(firma ecc) e ora funziona perfettamente SUL MIO PC!
ma sono andato a provare l'applicazione sul pc di una mia amica e cosa succede??
Disastrooo

alla prima operazione di apertura della porta è comparso questo errore:

Exception in thread "AWT-EventQueue-2" java.lang.NoClassDefFoundError: Could not initialize class gnu.io.CommPortIdentifier
at rfidjava.RFIDTagRead.gestionePorte(rfidjava.java:495)
at rfidjava.GraficaApplet.bApriActionPerformed(GraficaApplet.java:346)
at rfidjava.GraficaApplet.access$500(GraficaApplet.java:26)
at rfidjava.GraficaApplet$2.actionPerformed(GraficaApplet.java:90)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)



Non capisco il motivo...e da me continua a funzionare correttamente.
Per invocare l'applet ho inserito in una pagina html il seguente codice:


<applet CODE="AppletJava/GraficaApplet.class" ARCHIVE="AppletJava/AppletFirmata.jar" WIDTH=450 HEIGHT=450></applet>

dentro ad AppletJava ho i file .class e il file AppletFirmata.jar + una cartella con il file RXTXcomm.jar... penso che non lo trovi per inizializzare la connessione però non capisco perchè da me funzioni!
:help: :help: :help:

banryu79
10-12-2009, 17:49
Potrebbe avere a che fare con le dll/so...
Mi pare che le rxtx oltre al jar siano distribuite con delle librerie native... credo proprio che sul tuo sistema queste librerie siano presenti, mentre su quello della tua amica no.