![]() |
| | Themen-Optionen | Thema durchsuchen |
| | Nach oben #1 |
| Neuer Benutzer Registriert seit: 25.06.2005
Beiträge: 8
|
Hallo, ich hab ein Problem, der mir schon auf die Nerven geht, weil ich nirgendwo im Google eine normale Erklärung finde, wie ich die Rechte für mein Applet geben kann. Mein Applet muss ein Port öffnen und befehle schicken. Dazu weiss ich auch nicht welches "Permissions" ich benutzen muss, wahrscheinlich "java.net.NetPermission", aber da bin ich nicht sicher. Ich möchte versuchen für alle Permissions, alle Rechte an meinem Applet zu geben, damit mein Applet funktioniert. Die JAR-Datei und der Sertifikat habe ich schon erstellt und signiert! Z.B. mein Applet und alles liegt in C:jdk1.4/bin/Applet.jar Wie kann ich in der Policy datei das alles konfigurieren? Wenn mir jemand helfen kann, werde ich sehr dankbar sein! |
| | |
| | Nach oben #3 |
| Neuer Benutzer Registriert seit: 25.06.2005
Beiträge: 8
|
Hallo, also, ich teste mein Applet zuerst zuhause auf meinen privaten PC. Sonst mache ich der Applet für mein Institut an der Uni. Dort muss durch die Webseite ein Versuchstand gesteuert werden! Ich werde mich freuen wenn du mir helfen kannst, denn ich weis nicht wie ich die Policy datei konfigurieren kann und wie kann ich Sie an meinem Applet einbinden? |
| | |
| | Nach oben #4 |
| Sesselkleber Registriert seit: 17.01.2005
Beiträge: 581
|
Ok. Mit der Policy-Datei schau ich mir heute Abend an. Habe schon verschiedene Applets signiert. ABER! Bist du dir sichre, dass du ein Applet brauchst und, dass keine "normale" Java-Applikation reicht? Bist du dir im Klaren darüber, dass Applets auf dem Client ausgeführt werden und nicht auf dem Server? Daher versteh ich nämlich gerade nicht warum es ein Applet sein muss... |
| | |
| | Nach oben #5 |
| Neuer Benutzer Registriert seit: 25.06.2005
Beiträge: 8
|
Auf jeden fall brauche ich Applet und keine Application. Denn die Steuerung muss durch die Webseite stattfunden. Wie meinst du, dass Applets auf dem Client ausgeführt werden. Wird der Appler funktionieren, wenn ich es auf dem Server speichere und an der Webseite anbinde? Ich kann dir das Applet und alles per mail schicken! Ich benutze IBM Comm API zum Öffnen des seriellen Ports. |
| | |
| | Nach oben #6 |
| Sesselkleber Registriert seit: 17.01.2005
Beiträge: 581
|
Würde es dir etwas ausmachen mir etwas näher zu beschreiben was du vor hast? Wenn du die Api anbindest, und entsprechend autorisierst, kannst du aber nur auf die Ports des Clients zugreifen, nicht auf die Ports des Servers! Gruß Sparrow |
| | |
| | Nach oben #7 |
| Neuer Benutzer Registriert seit: 25.06.2005
Beiträge: 8
|
Wie ich dir gesagt habe muss mein Applet ein Versuchstand steuern. D.h. es gibt eine Rellais, an der ich befehl auf dem Port "COM1" für Ein-/Ausschalten schicke. Und danach muss ich auf Port "COM2" noch befehle für dem Stromversorger schicken, damit ich die Spannung für den Motor steuere. Das ist nicht mein Applet, weil die Quellcode gross ist, aber die Funktionen zum öffnen des Ports schtecken drinnen und wenn das funktioniert, dann wir auch mein Applet funktionieren Es gibt mir fehlermeldung: javax.comm.NoSuchPortException Code: import java.awt.*;
import java.awt.event.*;
import java.io.*;
import javax.swing.*;
import java.awt.event.ActionEvent;
import javax.comm.NoSuchPortException;
import javax.comm.CommPortIdentifier;
import javax.comm.SerialPort;
import java.awt.Container;
import javax.swing.JButton;
import javax.comm.PortInUseException;
import java.io.InputStream;
import java.io.IOException;
import javax.swing.JTextField;
import java.util.Enumeration;
import java.io.OutputStream;
import javax.comm.UnsupportedCommOperationException;
import javax.swing.JApplet;
public class WriteApplet extends JApplet {
private JTextField datei, inhalt, res;
public void init() {
Container c = getContentPane();
JPanel pan = new JPanel();
pan.add(new JLabel("Dateiname", JLabel.RIGHT));
pan.add(datei = new JTextField(15));
pan.add(new JLabel("Inhalt", JLabel.RIGHT));
pan.add(inhalt = new JTextField(15));
JButton but;
pan.add(but = new JButton("Speichern"));
c.add(pan, BorderLayout.CENTER);
pan = new JPanel();
pan.add(new JLabel("Resultat", JLabel.RIGHT));
pan.add(res = new JTextField(50));
c.add(pan, BorderLayout.SOUTH);
but.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
res.setText("");
try {
// SerialPort Instanzen
String comando="";
Enumeration portList=null;
CommPortIdentifier portId=null;
SerialPort serialPort=null;
OutputStream outputStream=null;
InputStream inputStream=null;
try{ // Port öffnen
portId = CommPortIdentifier.getPortIdentifier("COM1");
} catch(NoSuchPortException nspe){System.err.println(nspe);}
try { // Serial Port öffnen
serialPort = (SerialPort) portId.open("Teste", 2000);
} catch (PortInUseException piue) {System.err.println(piue);}
try { // Eingabe-/Ausgabestreams öffnen
outputStream = serialPort.getOutputStream();
inputStream = serialPort.getInputStream();
} catch (IOException ioe) {System.err.println(ioe);}
try { // Port Parameters
serialPort.setSerialPortParams(9600, SerialPort.DATABITS_8, SerialPort.STOPBITS_1, SerialPort.PARITY_NONE);
} catch (UnsupportedCommOperationException ucoe) {System.err.println(ucoe);}
try { // Schicke das Befehl
// outputStream.write(comando.getBytes());
outputStream.close();
inputStream.close();
} catch (IOException ioex) {System.err.println(ioex);}
} catch (Exception ex) {
res.setText(ex.toString());
}
}
});
}
}
|
| | |
| | Nach oben #9 |
| Neuer Benutzer Registriert seit: 25.06.2005
Beiträge: 8
|
Von hier habe ich die IBM Comm API herintergeladet http://public.planetmirror.com/pub/j...m/1.3.0/win32/ ibm-javacomm-win32-x86.zip Ich glaube Java ist Platformunabhängig oder? |
| | |
| | Nach oben #10 |
| Sesselkleber Registriert seit: 17.01.2005
Beiträge: 581
|
Natürlich ist Java Plattformunabhängig... es sei denn man verwendet etwas, dass nicht teil des Java-Pakets ist. So zum Beispiel Betriebssystemspezifische Zusätze. Das ansprechen der Com-Ports ist Betriebssystemabhängig. So hat man zwar die Möglichkeit den selben Code auf verschiedenen Betriebssystemem auszuführen, muss aber unter Umständen erst die Grundlagen schaffen (zusätzliche Module für die Laufzeitumgebung...) oder Betriebssystemspezifische Klassen nachladen. |
| | |
| | Nach oben #11 |
| Neuer Benutzer Registriert seit: 25.06.2005
Beiträge: 8
|
Hallo Hier wird schon etwas gezeigt wie mann die Rechte an einem Applet ügergibt, aber trotzdem klappt es noch nicht. http://forum.java.sun.com/thread.jsp...hreadID=409341 Woran könnte das Problem liegen? Danke, dass du mir hilfst ! |
| | |
| | Nach oben #12 |
| Sesselkleber Registriert seit: 17.01.2005
Beiträge: 581
|
Ich bin noch dabei das Ding unter Linux zu intallieren... aber vielleicht sind die Rechte nicht das Problem... sondern deine comm-Api? Ich bin mir nicht sicher ob das der Fehler ist, aber die ist für Java 1.3 und ich glaube damit arbeitest du nicht, oder? EDIT: Trotz einigem rumprobieren komme ich nicht weiter. Bei mir kommt in der Zeile: PHP-Code: Code: java.lang.UnsatisfiedLinkError: no ibmcomm in java.library.path at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1682) at java.lang.Runtime.loadLibrary0(Runtime.java:822) at java.lang.System.loadLibrary(System.java:992) at com.ibm.comm.NSCommDriver.<clinit>(NSCommDriver.java:28) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:164) at javax.comm.CommPortIdentifier.<clinit>(CommPortIdentifier.java:681) at TestApplet$1.actionPerformed(TestApplet.java:53) Bitte weas meint er mit ibmcomm nicht im library-Pfad? Ich habe die entsprende Jar (comm.jar) bei Eclipse mit eingebunden. Die Importe werden auch aufgelöst, also wird die .jar als Bbliothek erkannt und verwendet. Gruß Sparrow |
| | |
| | Nach oben #13 |
| Neuer Benutzer Registriert seit: 25.06.2005
Beiträge: 8
|
Hallo Sparrow, ich freue mich sehr, dass du mir so vie hilfst! Du musst die "IBM Comm API" herunterladen und etsprächend die Dateien in den JDK anlegen. Danach musst du die Datei Comm.jar in der verwendeten Bibliothek in Eclipse einbinden. Von hier kannst du die IBM Comm API heruntergeladet http://public.planetmirror.com/pub/...bm/1.3.0/win32/ ibm-javacomm-win32-x86.zip javax.comm.properties -> jdk1.4/jre/lib comm.jar -> ../jre/lib/ext ibmcomm.dll -> jdk1.4/jre/bin Gruss Borislav |
| | |
| | Nach oben #14 |
| Sesselkleber Registriert seit: 17.01.2005
Beiträge: 581
|
Soooo, also bei mir kommt als "Fehler" eine "Port in Use" Exception. Das deutet nicht auf eine Sicherheitsverletzung hin. Die "NoSuchPort"-Exception kommt wenn ich COM5 angebe. Den gibts bei mir auch nicht. Da hat er also Recht. Hast du diesen Code schonmal in einer Applikation benutzt und geschaut ob es da geht? Gruß Sparrow |
| | |
| | Nach oben #15 |
| Neuer Benutzer Registriert seit: 25.06.2005
Beiträge: 8
|
Wenn ich mein Applet mit JBuilder starte, dann funktioniert bei mir. Aber wenn ich es mit einem Browser starte, dann gibt es mir diese Fehlermeldung: NoSuchPort Ich hab nur COM1 als Port am PC. Naja ich hab mir noch ein Buch für Java Security ausgeliehen, aber mal sehen was ich herausfinden kann. Ich weiss nicht woran mein Problem liegt. Gruss Borislav |
| | |
![]() |
| Lesezeichen |
| Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
| Themen-Optionen | Thema durchsuchen |
| |
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Mit Applet Datei per ftp uploaden | Tago | Desktop-Applikationen und Grafik | 3 | 09.09.2005 18:17 |
| Applet html datei vom eigenen Server in JEditorPane laden | milanwb | Desktop-Applikationen und Grafik | 1 | 14.06.2005 14:01 |
| Applet, Datei aus selben Verzeichnis lesen | Gottzilla | Desktop-Applikationen und Grafik | 32 | 13.05.2005 12:42 |
| Textausgabe in Datei | obiwankenobi | Allgemeine Java-Programmierung | 2 | 09.05.2005 12:51 |
| 2 Applet miteinander kommunizieren | mr.no | Allgemeine Java-Programmierung | 3 | 23.11.2004 20:47 |