Cuestión : Applet del cliente de Java - AccessControlException

Me han dicho que si usted está creando un applet con código de TCP/UDP para hacer en el espectador del applet en vez del hojeador porque presenta menos problemas… De todas formas consigo este error cuando lo funciono en el espectador del applet: class= " lineNumbers " >
1 del >
    java.security.AccessControlException: tener acceso negado (java.net.SocketPermission 1
    27.0.0.1: 4444 conectan, resolución)
            en java.security.AccessControlContext.checkPermission (AccessControlConte
    xt.java: 323)
            en java.security.AccessController.checkPermission (AccessController.java:
    546)
            en java.lang.SecurityManager.checkPermission (SecurityManager.java: 532)
            en java.lang.SecurityManager.checkConnect (SecurityManager.java: 1034)
            en java.net. Socket.connect (Socket.java: 519)
            en java.net. Socket.connect (Socket.java: 475)
            en java.net. Socket. (Socket.java: 372)
            en java.net. Socket. (Socket.java: 186)
            en ClientApplet.run (ClientApplet.java: 42)
            en java.lang. Thread.run (Thread.java: 619)
    Excepción en el hilo de rosca “Thread-4” java.lang.NullPointerException
            en ClientApplet.run (ClientApplet.java: 58)
            en java.lang. Thread.run (Thread.java: 619)
el class= >

Here de
1 del >
    importación java.io.*;
    importación java.applet. Applet;
    importación java.net. *;
    importación javax.swing.*;
    importación java.awt.*;
    importación java.util.*;
    importación java.awt.event.*;
    
    la clase pública ClientApplet amplía los instrumentos de JApplet Runnable {
    
          charla estática pública de JTextField;
          chattxt estático público de JTextArea;
          PrintStream estático OS = falta de información;
          clientSocket = falta de información estáticos del zócalo;
    
          init vacío del público () {
                charla = nuevo JTextField (40);
                chattxt = nuevo JTextArea (20.50);
    
                chat.addActionListener (nuevo ActionListener () {
                   el vacío del público actionPerformed (el acontecimiento de ActionEvent) {
                        System.out.println (chat.getText ());
                   }
                 });
                agregar (charla);
                agregar (chattxt);
                   ¡chattxt.append (“Hey! ");
          }
    
          comienzo del vacío del público () {
               nuevo hilo de rosca (éste) .start ();
          }
    
          el vacío del público funciona () {
              // comunica con el servidor aquí
    
    
    Zócalo s = falta de información;
    
    intento {
    //s = nuevo zócalo (getParameter (“anfitrión”), Integer.valueOf (getParameter (“puerto”)));
    s = nuevo zócalo (“localhost”, 4444);
    InputStream en = s.getInputStream ();
    OS = nuevo PrintStream (clientSocket.getOutputStream ());
    buf de la internacional = -1;
    mientras que ((buf = in.read ()) ¡! = “.") {
    
    chattxt.append (“\ n” + buf);
    
    }
    chattxt.append (“\ nIn leyó: ” + in.read () + “\ nServer envió: ” + adentro);
    
    } retén (excepción e) {
    e.printStackTrace ();
    }
    finalmente {
    intento {
    	s.close ();
    	} retén (IOException e)
    	{}
    }
    
    
    
    }
    }
el class= >

Here de
1 del >
    importación java.io.*;
    importación java.net. *;
    importación java.util.*;
    
    servidor público de la clase {
    
        clientSocket = falta de información estáticos del zócalo;
        serverSocket = falta de información estáticos de ServerSocket;
    
    	clientThread estático t [] = nuevo clientThread [10];
    
    
        cañería pública del vacío de los parásitos atmosféricos (args de la secuencia []) {
    
    	// el puerto del defecto
    
    
    
    	internacional port_number=2222;
    
    	si (args.length < 1)
    	    {
    		System.out.println (“comenzando el servidor del juego… \ el número del nPort: “+port_number);
    	    } {
    		port_number=Integer.valueOf (args [0]) .intValue ();
    	    }
    
            intento {
    	    serverSocket = nuevo ServerSocket (port_number);
    	    System.out.println (********************** COMENZADO SERVIDOR \ n del *** \ n del *** del ********************** \ n “\ n”);
            }
            retén (IOException e)
    	    {System.out.println (e);}
    
    	mientras que (verdad) {
    	    intento {
    		clientSocket = serverSocket.accept ();
    		System.out.println (“*** ALGUIEN *** CONECTADO \ n”);
    		para (internacional i=0; i<=9; i++) {
    		    si ==null (de t [i])
    			{
    			    (t [i] = nuevo clientThread (clientSocket, t)) .start ();
    			    rotura;
    			}
    		}
    	    }
    	    retén (IOException e) {
    		System.out.println (e);}
    	}
        }
    }
    
    el clientThread de la clase extiende el hilo de rosca {
    
        BufferedReader es = falta de información;
        PrintStream OS = falta de información;
        clientSocket = falta de información del zócalo;
        clientThread t [];
        Rodillo al azar = nuevo al azar ();
    
        clientThread público (clientSocket del zócalo, clientThread [] t) {
    	this.clientSocket=clientSocket;
            this.t=t;
        }
    
        el vacío del público funciona ()
        {
    		System.out.println (“cheque 1”);
    	Línea de secuencia;
            Nombre de la secuencia;
            internacional PY;
    	intento {
    		System.out.println (“cheque 2”);
    	    es = nuevo BufferedReader (nuevo InputStreamReader (clientSocket.getInputStream ()));
    	    System.out.println (“cheque 3”);
    	    OS = nuevo PrintStream (clientSocket.getOutputStream ());
    	    System.out.println (“cheque 4”);
    	    px de la internacional = roll.nextInt (200);
    	    //os.println (“introducir su name.");
    	    System.out.println (“cheque 5”);
    	    nombre = “huésped #” + roll.nextInt (6);
    	    System.out.println (“cheque 6 \ n”);
    	    System.out.println (name+ " ha incorporado el juego. Su ataque: “+ px);
    	    System.out.println (“cheque 7”);
    	    para (internacional i=0; i<=9; i++)
    		¡si (t [i]! ¡&& t [i] del =null! =this)
    		    ¡t [i] .os.println (“nuevo usuario “+name+” del *** A entró en la sala de chat!!! *** ");
    		    System.out.println (“cheque 8”);
    	    mientras que (verdad) {
    			System.out.println (“cheque 9”);
    		línea = is.readLine ();
                    si (line.startsWith (“/quit”)) rotura;
    		para (internacional i=0; i<=9; i++)
    		    ¡si (t [i]! =null) t [i] .os.println (“< " +name+”: “+px+ " > “+line); // alguien dijo algo
    	    }
    	    para (internacional i=0; i<=9; i++)
    		¡si (t [i]! ¡&& t [i] del =null! =this) {
    		¡System.out.println (“\ n” + el nombre +” se ha ido! \ n ");
    		    ¡t [i] .os.println (el “*** el usuario “+name+” está saliendo de la sala de chat!!! *** ");
    		}
    
    	    os.println (“*** del adiós “+name+” del *** ");
    
    	    para (internacional i=0; i<=9; i++) {
    		si ==this (de t [i]) =null de t [i];
    		¡System.out.println (“\ nSomeone se ha ido! \ n”);
    	}
    
    	    is.close ();
    	    os.close ();
    	    clientSocket.close ();
    	}
    	retén (IOException e) {};
        }
    }
class= >
" claro " de
class= del

Respuesta : Applet del cliente de Java - AccessControlException

Apesadumbrado, cambio
            Para cada strRegKey en objRegKeys

a
            Para cada strRegKey en arrRegKeys


Respetos,

Robo.
Otras soluciones  
 
programming4us programming4us