AccessControlException

Status
Nicht offen für weitere Antworten.

maggifresse

Mitglied
Hallo ich versuche gerade ein Chat-Programm aufzubauen und hab immoment ein Problem. Wenn ich mein Client- Programm laufen lass (Multicast) mit der Multicast-Adresse: "225.0.0.7", wird eine Exception ausgeworfen:
java.net.SocketException: Not a Multicast address
Wenn das Server Programm dann das Client Programm anspricht wird eine weiter Exception ausgelöst:
java.security.AccessControlException: access denied(java.net.SocketPermission 225.0.0.7 connect, accept, resolve)
PS: Kann es vll sein weil das Programm in einem Applet laüft. Hier noch der Quellcode:
Client-Programm:

Code:
try {
      MulticastSocket sock = new MulticastSocket(9024);
      InetAddress multicast_address = InetAddress.getByName(225.0.0.7);
      sock.joinGroup(multicast_address);
       byte[] puffer = new byte[100];
       DatagramPacket paket = new DatagramPacket(puffer,puffer.length);
       sock.receive(paket);
       String nachricht = new String(paket.getData());
       System.out.println("Nachricht empfangen: " + nachricht);
     }
     catch(Exception h) {
      System.out.println(h);
     }

Server-Programm:

Code:
   try {
    MulticastSocket sock = new MulticastSocket(9024);
    InetAddress multicast_address = InetAddress.getByName(225.0.0.7);
    sock.joinGroup(multicast_address);
    while(true) {
     String nachricht = "Multicast-Verbindung OK";
     byte[] puffer = nachricht.getBytes();
     DatagramPacket paket = new DatagramPacket(puffer,puffer.length,multicast_address,9024);
     sock.send(paket);
     System.out.println("Server: Nachricht gesendet");
     break;
    }

   }
   catch(Exception e) {
    System.out.println(e);
   }
 

maggifresse

Mitglied
Ich hab das jetzt gemacht;
Dafür musste ich aber ein jar-Archive erstellen.
Ich erstellte die Manifest-Datei:
Main-class: Signiert
Dann habe ich es so umgewandelt:
jar cvfm Signiert.jar Manifest.mf Signiert.class
danach habe ich es signiert:
jarsigner Signiert.jar meinName
Jetzt wenn ich das jar-Archive starte steht folgender Error drin:

Java Virtual Machine Launcher
Falied to load Main-Class manifest attribut from:
C:\...
 

L-ectron-X

Gesperrter Benutzer
Applets laufen im Browser, nicht auf dem lokalen Desktop als Applikaktion.
Bei der Erzeugung von Jar-Dateien für Applets wird das Attribut Main-Class nicht benötigt, es gibt ja auch keine Klasse mit einer main()-Methode.
 

L-ectron-X

Gesperrter Benutzer
maggifresse hat gesagt.:
Das Hauptfenster lass ich aber von einem Applet starten, dies ist dann eine Application.
Der kleinste gemeinsame Nenner ist aber das Applet, alles unterliegt dann den Sicherheitsbestimmungen für Applets.
Das kannst du am unteren Rand deines Applikationsfensters erkennen, so lange das Applet nicht signiert wurde.

maggifresse hat gesagt.:
Kann dass sein das ich die signierte Datei, als archive Datei neben der *.class im HTML-Tag laden muss.
Ja, der Browser muss ja wissen wo er das Applet hernehmen soll.
 

maggifresse

Mitglied
Kann mir jemand erklären wie des signieren richtig geht. Sitz jetzt schon 2 tage davor und versuche es :? . Wäre echt nett.
PS: Ich will ein Applet signieren mit Keytool
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen


Oben