Questione : Applet del cliente del Java - AccessControlException

Sono stato detto che se stiate generando un applet con il codice di TCP/UDP per fare nel visore del applet anziché il browser perché presenta meno problemi… In ogni modo ottengo questo errore quando lo faccio funzionare nel visore del applet: class= " lineNumbers " >
1 del >
    java.security.AccessControlException: accedere a negato (java.net.SocketPermission 1
    27.0.0.1: 4444 si collegano, risoluzione)
            a java.security.AccessControlContext.checkPermission (AccessControlConte
    xt.java: 323)
            a java.security.AccessController.checkPermission (AccessController.java:
    546)
            a java.lang.SecurityManager.checkPermission (SecurityManager.java: 532)
            a java.lang.SecurityManager.checkConnect (SecurityManager.java: 1034)
            a java.net. Socket.connect (Socket.java: 519)
            a java.net. Socket.connect (Socket.java: 475)
            a java.net. Socket. (Socket.java: 372)
            a java.net. Socket. (Socket.java: 186)
            a ClientApplet.run (ClientApplet.java: 42)
            a java.lang. Thread.run (Thread.java: 619)
    Eccezione in filetto “Thread-4„ java.lang.NullPointerException
            a ClientApplet.run (ClientApplet.java: 58)
            a java.lang. Thread.run (Thread.java: 619)
il class= >

Here di
1 del >
    importazione java.io.*;
    importazione java.applet. Applet;
    importazione java.net. *;
    importazione javax.swing.*;
    importazione java.awt.*;
    importazione java.util.*;
    importazione java.awt.event.*;
    
    il codice categoria pubblico ClientApplet estende gli strumenti di JApplet praticabili {
    
          chiacchierata statica pubblica di JTextField;
          chattxt statico pubblico di JTextArea;
          PrintStream statico OS = posizione di segnale minimo;
          clientSocket = posizione di segnale minimo statici dello zoccolo;
    
          init vuoto del pubblico () {
                chiacchierata = nuovo JTextField (40);
                chattxt = nuovo JTextArea (20.50);
    
                chat.addActionListener (nuovo ActionListener () {
                   il vuoto del pubblico actionPerformed (evento di ActionEvent) {
                        System.out.println (chat.getText ());
                   }
                 });
                aggiungere (chiacchierata);
                aggiungere (chattxt);
                   chattxt.append (“Hey! ");
          }
    
          inizio di vuoto del pubblico () {
               nuovo filetto (questo) .start ();
          }
    
          il vuoto del pubblico funziona () {
              // comunica con l'assistente qui
    
    
    Zoccolo s = posizione di segnale minimo;
    
    prova {
    //s = nuovo zoccolo (getParameter (“ospite„), Integer.valueOf (getParameter (“orificio„)));
    s = nuovo zoccolo (“localhost„, 4444);
    InputStream in = s.getInputStream ();
    OS = nuovo PrintStream (clientSocket.getOutputStream ());
    buf di int = -1;
    mentre ((buf = in.read ()) ! = “.") {
    
    chattxt.append (“\ n„ + buf);
    
    }
    chattxt.append (“\ nIn ha letto: „ + in.read () + “\ nServer ha trasmesso: „ + dentro);
    
    } fermo (eccezione e) {
    e.printStackTrace ();
    }
    infine {
    prova {
    	s.close ();
    	} fermo (IOException e)
    	{}
    }
    
    
    
    }
    }
il class= >

Here di
1 del >
    importazione java.io.*;
    importazione java.net. *;
    importazione java.util.*;
    
    assistente pubblico del codice categoria {
    
        clientSocket = posizione di segnale minimo statici dello zoccolo;
        serverSocket = posizione di segnale minimo statici di ServerSocket;
    
    	clientThread statico t [] = nuovo clientThread [10];
    
    
        conduttura pubblica di vuoto di elettricità statica (args della stringa []) {
    
    	// l'orificio di difetto
    
    
    
    	int port_number=2222;
    
    	se (args.length < 1)
    	    {
    		System.out.println (“iniziando l'assistente del gioco… \ numero del nPort: “+port_number);
    	    } altrimenti {
    		port_number=Integer.valueOf (args [0]) .intValue ();
    	    }
    
            prova {
    	    serverSocket = nuovo ServerSocket (port_number);
    	    System.out.println (********************** \ n del *** INIZIATO ASSISTENTE \ n del *** del ********************** \ n “\ n„);
            }
            fermo (IOException e)
    	    {System.out.println (e);}
    
    	mentre (allineare) {
    	    prova {
    		clientSocket = serverSocket.accept ();
    		System.out.println (“*** QUALCUNO *** COLLEGATO \ n„);
    		per (int i=0; i<=9; i++) {
    		    se (==null di t [i])
    			{
    			    (t [i] = nuovo clientThread (clientSocket, t)) .start ();
    			    rottura;
    			}
    		}
    	    }
    	    fermo (IOException e) {
    		System.out.println (e);}
    	}
        }
    }
    
    il clientThread del codice categoria estende il filetto {
    
        BufferedReader è = posizione di segnale minimo;
        PrintStream OS = posizione di segnale minimo;
        clientSocket = posizione di segnale minimo dello zoccolo;
        clientThread t [];
        Rullo casuale = nuovo casuale ();
    
        clientThread pubblico (clientSocket dello zoccolo, clientThread [] t) {
    	this.clientSocket=clientSocket;
            this.t=t;
        }
    
        il vuoto del pubblico funziona ()
        {
    		System.out.println (“controllo 1„);
    	Linea di stringa;
            Nome della stringa;
            int PY;
    	prova {
    		System.out.println (“controllo 2„);
    	    è = nuovo BufferedReader (nuovo InputStreamReader (clientSocket.getInputStream ()));
    	    System.out.println (“controllo 3„);
    	    OS = nuovo PrintStream (clientSocket.getOutputStream ());
    	    System.out.println (“controllo 4„);
    	    px di int = roll.nextInt (200);
    	    //os.println (“entrare nel vostro name.");
    	    System.out.println (“controllo 5„);
    	    nome = “ospite #„ + roll.nextInt (6);
    	    System.out.println (“controllo 6 \ n„);
    	    System.out.println (name+ " ha entrato nel gioco. Il loro attacco: “+ px);
    	    System.out.println (“controllo 7„);
    	    per (int i=0; i<=9; i++)
    		se (t [i]! && t [i] del =null! =this)
    		    t [i] .os.println (“il nuovo utente “+name+„ del *** A ha entrato nel chat room!!! *** ");
    		    System.out.println (“controllo 8„);
    	    mentre (allineare) {
    			System.out.println (“controllo 9„);
    		linea = is.readLine ();
                    se (line.startsWith (“/quit„)) rottura;
    		per (int i=0; i<=9; i++)
    		    se (t [i]! =null) t [i] .os.println (“< " +name+„: “+px+ " > “+line); // qualcuno ha detto qualcosa
    	    }
    	    per (int i=0; i<=9; i++)
    		se (t [i]! && t [i] del =null! =this) {
    		System.out.println (“\ n„ + il nome +„ ha andato! \ n ");
    		    t [i] .os.println (“il *** l'utente “+name+„ sta lasciando il chat room!!! *** ");
    		}
    
    	    os.println (“*** di arrivederci “+name+„ del *** ");
    
    	    per (int i=0; i<=9; i++) {
    		se (==this di t [i]) =null di t [i];
    		System.out.println (“\ nSomeone ha andato! \ n„);
    	}
    
    	    is.close ();
    	    os.close ();
    	    clientSocket.close ();
    	}
    	fermo (IOException e) {};
        }
    }
class= >
" libero " di
class= del

Risposta : Applet del cliente del Java - AccessControlException

Spiacente, cambiamento
            Per ogni strRegKey nei objRegKeys

a
            Per ogni strRegKey nei arrRegKeys


Riguardi,

Rob.
Altre soluzioni  
 
programming4us programming4us