Visualizzazione dei risultati da 1 a 3 su 3

Discussione: Applet Java e permessi

  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2005
    Messaggi
    6

    Applet Java e permessi

    Salve, sono alle prime armi, e mi sono imbattuto in un problema che credo sia frequentissimo .....
    Ebbene ho realizzato un applet che tra le cose deve permettere esegue delle getimage di immagini presenti sul server.
    Ebbene se mi collego al server , lanciando la pagina html relativa, avviene il caricamento dell'applet, però mi compare l'errore

    Exception in thread "Timer" java.security.AccessControlException: access denied (java.net.SocketPermission 10.10.205.31 resolve)
    at java.security.AccessControlContext.checkPermission (Unknown Source)
    at java.security.AccessController.checkPermission(Unk nown Source)
    at java.lang.SecurityManager.checkPermission(Unknown Source)
    at java.lang.SecurityManager.checkConnect(Unknown Source)
    etc.............


    Allora ho editato il mio java.policy della mia jre locale, e fornito tutti i grant su quella macchina 10.10.205.31.
    Cosi mi funziona, però la soluzione non mi convince, in quanto se immagino che svariati pc accedono a quella pagina html, e si caricano l'applet, anche loro troveranno quel tipo di problema.
    Come posso far si che la mia applet possa essere eseguita su diversi PC senza il problema dell'errore java.net.SocketPermission ???
    Non c'è un modo nel mio codice applet di renderlo immune da questo problema ???

    Ringrazio anticipatamente tutti Voi.

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: Applet Java e permessi

    Originariamente inviato da kevin13
    Ebbene ho realizzato un applet che tra le cose deve permettere esegue delle getimage di immagini presenti sul server.
    Ebbene se mi collego al server , lanciando la pagina html relativa, avviene il caricamento dell'applet, però mi compare l'errore
    Non ci dovrebbero essere problemi a scaricare un documento (in generale a fare connessioni) dallo stesso host da cui proviene la applet.

    Se posti il pezzetto di codice che mostra cosa usi e come carichi la immagine, forse si può provare a rispondere.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2005
    Messaggi
    6
    Ecco il un sintetico del codice:

    per caso ho omesso qualche import ?

    import java.io.*;
    import java.awt.*;
    import java.awt.event.*;
    import java.applet.*;
    import java.net.*;



    public class TELECAMERA extends Applet
    {
    private Image myImage = null;

    private int startIndex = 1;
    private int sleepTime = 0;
    private int sleepTimestart = 0;
    private Thread timerThread;
    private volatile boolean noStopRequested;
    private MediaTracker tracker;
    private String invio;

    public URL testx =null;
    public String str_risoluzione_video="30";
    public int risoluzione_video =30;
    public int larghezza_image =500;
    public int altezza_image =600;
    public String address_IP;

    final int offsetimagx=0;
    final int offsetimagy=0;

    public void init()
    {
    int i;
    tracker = new MediaTracker(this);

    String strStartIndex = getParameter("STARTINDEX");
    String strSleepTime = getParameter("MSDELAY");
    startIndex = Integer.parseInt(strStartIndex);
    sleepTime = Integer.parseInt(strSleepTime);

    // GET parametro risoluzione Video
    str_risoluzione_video = getParameter("RISOLUZIONE");
    risoluzione_video = Integer.parseInt(str_risoluzione_video);

    // GET parametro larghezza immagine
    String str_larghezza_image = getParameter("LARGHEZZA");
    larghezza_image = Integer.parseInt(str_larghezza_image);

    // GET parametro altezza immagine
    String str_altezza_image = getParameter("ALTEZZA");
    altezza_image = Integer.parseInt(str_altezza_image);

    // GET parametro altezza immagine
    address_IP = getParameter("INDIRIZZO_IP");

    }

    public void start()
    {
    startThread();
    }

    private void startThread()
    {
    noStopRequested = true;
    Runnable r = new Runnable()
    {
    public void run()
    {
    runWork();
    }
    };
    timerThread = new Thread(r, "Timer");
    timerThread.start();

    }

    public void SetIP()
    {

    try
    {
    testx = new URL(address_IP);
    }
    catch (MalformedURLException ex)
    {
    System.err.println("Indirizzo non valido!");
    }
    }

    private void stopThread()
    {
    noStopRequested = false;
    timerThread.interrupt();
    }

    private void runWork()
    {
    boolean imageload = false;

    try
    {
    if(sleepTimestart!=0)
    {
    Thread.sleep( sleepTimestart );
    sleepTimestart=0;
    }

    SetIP();
    invio="grabber.cgi?com=3&tel=" + Integer.toString(startIndex) + "&ris="+ Integer.toString(risoluzione_video);

    while ( noStopRequested )
    {

    if(imageload==true)
    {

    tracker.removeImage(myImage);
    myImage.flush();
    myImage=null;
    }

    myImage = getImage(testx,"image1.jpg").getScaledInstance(lar ghezza_image,altezza_image,2);

    AppletContext ac =getAppletContext();
    ac.showStatus(invio);

    tracker.addImage(myImage, 0);
    tracker.waitForAll();

    imageload = true;
    repaint();
    Thread.sleep( sleepTime );

    }
    }
    catch ( InterruptedException x )
    {
    Thread.currentThread().interrupt();
    }
    }

    public void paint(Graphics g)
    {
    update(g);
    }

    public void update(Graphics g)
    {
    if(myImage!= null)
    {

    g.drawImage(myImage,offsetimagx,offsetimagy,this);
    }

    }
    public void stop()
    {
    stopThread();
    }
    public void destroy()
    {
    myImage.flush();
    myImage = null;
    }

    Grazie

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.