Pergunta : Applet do cliente de Java - AccessControlException

Eu fui dito que se você está criando um applet com o código de TCP/UDP para fazer no visor do applet em vez do navegador porque apresenta menos problemas… Em todo o caso eu começ este erro quando eu o funciono no visor do applet: class= " lineNumbers " >
1 do >
    java.security.AccessControlException: alcançar negado (java.net.SocketPermission 1
    27.0.0.1: 4444 conetam, resolução)
            em java.security.AccessControlContext.checkPermission (AccessControlConte
    xt.java: 323)
            em java.security.AccessController.checkPermission (AccessController.java:
    546)
            em java.lang.SecurityManager.checkPermission (SecurityManager.java: 532)
            em java.lang.SecurityManager.checkConnect (SecurityManager.java: 1034)
            em java.net. Socket.connect (Socket.java: 519)
            em java.net. Socket.connect (Socket.java: 475)
            em java.net. Socket. (Socket.java: 372)
            em java.net. Socket. (Socket.java: 186)
            em ClientApplet.run (ClientApplet.java: 42)
            em java.lang. Thread.run (Thread.java: 619)
    Exceção na linha “Thread-4” java.lang.NullPointerException
            em ClientApplet.run (ClientApplet.java: 58)
            em java.lang. Thread.run (Thread.java: 619)
o class= >

Here de
1 do >
    importação java.io.*;
    importação java.applet. Applet;
    importação java.net. *;
    importação javax.swing.*;
    importação java.awt.*;
    importação java.util.*;
    importação java.awt.event.*;
    
    a classe pública ClientApplet estende os instrumentos de JApplet praticáveis {
    
          bate-papo de estática público de JTextField;
          chattxt de estática público de JTextArea;
          PrintStream de estática ósmio = zero;
          clientSocket = zero de estática do soquete;
    
          init vago do público () {
                bate-papo = JTextField novo (40);
                chattxt = JTextArea novo (20.50);
    
                chat.addActionListener (ActionListener novo () {
                   o vácuo do público actionPerformed (o evento de ActionEvent) {
                        System.out.println (chat.getText ());
                   }
                 });
                adicionar (bate-papo);
                adicionar (chattxt);
                   chattxt.append (“Hey! ");
          }
    
          começo do vácuo do público () {
               linha nova (esta) .start ();
          }
    
          o vácuo do público funciona () {
              // comunica-se com o usuário aqui
    
    
    Soquete s = zero;
    
    tentativa {
    //s = soquete novo (getParameter (“anfitrião”), Integer.valueOf (getParameter (“porto”)));
    s = soquete novo (“localhost”, 4444);
    InputStream em = s.getInputStream ();
    ósmio = PrintStream novo (clientSocket.getOutputStream ());
    buf do int = -1;
    quando ((buf = in.read ()) ! = “.") {
    
    chattxt.append (“\ n” + buf);
    
    }
    chattxt.append (“\ nIn leu: ” + in.read () + “\ nServer emitiu: ” + dentro);
    
    } prendedor (exceção e) {
    e.printStackTrace ();
    }
    finalmente {
    tentativa {
    	s.close ();
    	} prendedor (IOException e)
    	{}
    }
    
    
    
    }
    }
o class= >

Here de
1 do >
    importação java.io.*;
    importação java.net. *;
    importação java.util.*;
    
    usuário público da classe {
    
        clientSocket = zero de estática do soquete;
        serverSocket = zero de estática de ServerSocket;
    
    	clientThread de estática t [] = clientThread novo [10];
    
    
        cano principal público do vácuo da estática (args da corda []) {
    
    	// o porto do defeito
    
    
    
    	int port_number=2222;
    
    	se (args.length < 1)
    	    {
    		System.out.println (“começando o usuário do jogo… \ número do nPort: “+port_number);
    	    } mais {
    		port_number=Integer.valueOf (args [0]) .intValue ();
    	    }
    
            tentativa {
    	    serverSocket = ServerSocket novo (port_number);
    	    System.out.println (********************** COMEÇADO USUÁRIO do *** do *** do ********************** “\ n \ n \ n \ n”);
            }
            prendedor (IOException e)
    	    {System.out.println (e);}
    
    	quando (verdadeiro) {
    	    tentativa {
    		clientSocket = serverSocket.accept ();
    		System.out.println (“*** ALGUÉM *** CONETADO \ n”);
    		para (int i=0; i<=9; i++) {
    		    se (==null de t [i])
    			{
    			    (t [i] = clientThread novo (clientSocket, t)) .start ();
    			    ruptura;
    			}
    		}
    	    }
    	    prendedor (IOException e) {
    		System.out.println (e);}
    	}
        }
    }
    
    o clientThread da classe estende a linha {
    
        BufferedReader é = zero;
        PrintStream ósmio = zero;
        clientSocket = zero do soquete;
        clientThread t [];
        Rolo aleatório = aleatório novo ();
    
        clientThread público (clientSocket do soquete, clientThread [] t) {
    	this.clientSocket=clientSocket;
            this.t=t;
        }
    
        o vácuo do público funciona ()
        {
    		System.out.println (“verificação 1”);
    	Linha de corda;
            Nome da corda;
            int PY;
    	tentativa {
    		System.out.println (“verificação 2”);
    	    é = BufferedReader novo (InputStreamReader novo (clientSocket.getInputStream ()));
    	    System.out.println (“verificação 3”);
    	    ósmio = PrintStream novo (clientSocket.getOutputStream ());
    	    System.out.println (“verificação 4”);
    	    px do int = roll.nextInt (200);
    	    //os.println (“incorporar seu name.");
    	    System.out.println (“verificação 5”);
    	    nome = “convidado #” + roll.nextInt (6);
    	    System.out.println (“verificação 6 \ n”);
    	    System.out.println (name+ " incorporou o jogo. Seu ataque: “+ px);
    	    System.out.println (“verificação 7”);
    	    para (int i=0; i<=9; i++)
    		se (t [i]! && t do =null [i]! =this)
    		    t [i] .os.println (do “usuário novo “+name+” *** A entrou no chat room!!! *** ");
    		    System.out.println (“verificação 8”);
    	    quando (verdadeiro) {
    			System.out.println (“verificação 9”);
    		linha = is.readLine ();
                    se (line.startsWith (“/quit”)) ruptura;
    		para (int i=0; i<=9; i++)
    		    se (t [i]! =null) t [i] .os.println (“< " +name+”: “+px+ " > “+line); // alguém disse algo
    	    }
    	    para (int i=0; i<=9; i++)
    		se (t [i]! && t do =null [i]! =this) {
    		System.out.println (“\ n” + o nome +” saiu! \ n ");
    		    t [i] .os.println (o “*** o usuário “+name+” está saindo do chat room!!! *** ");
    		}
    
    	    os.println (do “*** do adeus “+name+” *** ");
    
    	    para (int i=0; i<=9; i++) {
    		se (==this de t [i]) =null de t [i];
    		System.out.println (“\ nSomeone saiu! \ n”);
    	}
    
    	    is.close ();
    	    os.close ();
    	    clientSocket.close ();
    	}
    	prendedor (IOException e) {};
        }
    }
class= >
" desobstruído " de
class= do

Resposta : Applet do cliente de Java - AccessControlException

Pesaroso, mudança
            Para cada strRegKey nos objRegKeys

a
            Para cada strRegKey nos arrRegKeys


Considerações,

Roubo.
Outras soluções  
 
programming4us programming4us