Avatar billede ghorfraq Nybegynder
06. december 2004 - 12:24 Der er 17 kommentarer og
1 løsning

kommunikation med Com Port

Er der nogle der med succes har evnet at kommunikere med en comPort via en java applet?
Bruer javax.comm.

/SBM
Avatar billede nheilbuth Nybegynder
06. december 2004 - 14:02 #1
Hmm jeg er ikke sikker på at det kan lade sig gøre i en applet
Avatar billede arne_v Ekspert
06. december 2004 - 21:31 #2
Hvis Java COMM er ren Java så kan det principielt lade sig gøre at:
  - angive classpath til en anden jar fil i applet jar filen
  - signe applet jar filen og bede brugerne give den speciel adgang

Hvis Java COMM inkluderer DLL'er så kan det ikke lade sig gøre (medmindre
du vil kræve at de installerer Java COMM - og så er der vel ikke meget
pointe i en applet).
Avatar billede ghorfraq Nybegynder
07. december 2004 - 10:09 #3
Desværre inkluderer Java.Comm win32com.dll, hvilket natuglivis er nøvendigt for at kommunikere med pc'ens hardware.
Ideen med en appletLøsning er valgt for at give brugeren mulighed for at starte systemet fra en webserver. Dette er primært et krav fra vores samarbejdspartner.
En alternativ løsning kunne være en servlet-løsning men det er ikke muligt at ændre på nuværende tidspunkt. Ifølge diverse fora på nettet skulle flere med succes have skabt denne kommunikation, ved at kompromitere java's indbyggede sikkerhed (securityManager'en).
Avatar billede arne_v Ekspert
07. december 2004 - 12:13 #4
Så vidt jeg ved kan en JNI DLL ikke hentes over nettet d.v.s. en løsning
vil kræve en installation på PC'en).
Avatar billede ghorfraq Nybegynder
07. december 2004 - 12:37 #5
Ja, det er jeg klar over. Og det er ikke et problem. Deployment vil kræve at man manuelt installerer javax.comm. Det primære i min forespørgsel er simpelthen bare at kunne foretage det nødvendige kald til en comport. Alle politiske og brugerHensyn kan PT ignoreres.
Jeg kan tilsyneladende loade driveren i filen win32com.dll men kan ikke åbne en serialport. Og det er uden brug af signing.
Fungerende kode (tilsyneladende):
try
{
  System.loadLibrary("win32com");
  System.out.println("Win32Com Library Loaded");
}
catch (Exception e) {System.err.println;}
Avatar billede arne_v Ekspert
07. december 2004 - 12:50 #6
Du skal jo nok igang med signing ...
Avatar billede ghorfraq Nybegynder
07. december 2004 - 12:51 #7
har leget lidt med det uden held.
Avatar billede ghorfraq Nybegynder
07. december 2004 - 12:51 #8
altså kunne godt signe en applet, men det afhjalp ikke problemet
Avatar billede arne_v Ekspert
07. december 2004 - 12:57 #9
Når du har signet så skal du jo også ind og give kode signeret af
dig specielle privs.
Avatar billede ghorfraq Nybegynder
07. december 2004 - 12:59 #10
Har du evt. et godt link eller et eksempel? Taler du om java's fil: java.policy ligenu? Har bøvlet en del med policy filen. Uden held
Avatar billede arne_v Ekspert
07. december 2004 - 13:09 #11
Hvis det er SUN Java, så er det den.
Avatar billede arne_v Ekspert
07. december 2004 - 13:09 #12
Jeg kan godt prøve at finde noget.
Avatar billede ghorfraq Nybegynder
07. december 2004 - 13:18 #13
ok, lyder godt.
Det er SUN's java jeg bruger
Avatar billede arne_v Ekspert
12. december 2004 - 23:32 #14
Det er faktisk ikke så svært igen.

Lav en sign.bat med:

javac %1.java
jar cvf %1.jar %1.class
keytool -genkey -keystore %2.jks -alias %2
keytool -export -keystore %2.jks -alias %2 -file %2.cer
jarsigner -keystore %2.jks %1.jar %2

(jeg antager at din applet kode hedder FoobarApplet.java)

Du laver nu en signed jar fil med:

sign FoobarApplet ghorfraq

(du skal svare på en masse spørgsmål undervejs)

Så dobbelt klikket du på ghorfraq.cer i Windows Explorer og accepterer certifikat.

Så modificerer du HTML koden til at bruge jar filen:

<applet codebase="." code="FoobarApplet.class" archive="FoobarApplet.jar">
</applet>

og så skulle det virke med nyere SUN JVM !
Avatar billede arne_v Ekspert
12. december 2004 - 23:36 #15
Det er med et self signed certifikat, hvis du har et verisign certifikat er
det naturligvis bedre.

De 2 keytool kommandoer skal vel strengt taget kun udføres en gang selvom man
har flere applets som skal signes.
Avatar billede ghorfraq Nybegynder
13. december 2004 - 10:09 #16
Jeg har selv leget lidt med signing. Men uden held.
Jeg takker forhjælpen og vil selv udforske det yderligere.
Hvis du smider et svar kan du få lidt point
Avatar billede arne_v Ekspert
13. december 2004 - 10:35 #17
svar
Avatar billede ghorfraq Nybegynder
13. december 2004 - 10:39 #18
Accepteret
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester