Vraag : De Cliënt van Java Applet - AccessControlException

Ik ben verteld dat als u een applet met code TCP/UDP cre�ërt in de kijker Applet in plaats van browser te doen omdat het minder problemen… geeft In elk geval krijg ik deze fout wanneer ik het in de Kijker Applet in werking stel:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
    java.security.AccessControlException: ontkende toegang (java.net.SocketPermission 1
    27.0.0.1: 4444 verbinden, besluit)
            bij java.security.AccessControlContext.checkPermission (AccessControlConte
    xt.java: 323)
            bij java.security.AccessController.checkPermission (AccessController.java:
    546)
            bij java.lang.SecurityManager.checkPermission (SecurityManager.java: 532)
            bij java.lang.SecurityManager.checkConnect (SecurityManager.java: 1034)
            in java.net. Socket.connect (Socket.java: 519)
            in java.net. Socket.connect (Socket.java: 475)
            in java.net. Socket. (Socket.java: 372)
            in java.net. Socket. (Socket.java: 186)
            bij ClientApplet.run (ClientApplet.java: 42)
            bij java.lang. Thread.run (Thread.java: 619)
    Uitzondering in draad „draad-4“ java.lang.NullPointerException
            bij ClientApplet.run (ClientApplet.java: 58)
            bij java.lang. Thread.run (Thread.java: 619)


Here is de code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
    de invoer java.io.*;
    de invoer java.applet. Applet;
    de invoer java.net. *;
    de invoer javax.swing.*;
    de invoer java.awt.*;
    de invoer java.util.*;
    de invoer java.awt.event.*;
    
    de openbare klasse ClientApplet breidt Jaagbare instrumenten JApplet uit {
    
          openbaar statisch praatje JTextField;
          openbare statische JTextArea chattxt;
          statische PrintStream os = verklaart nietig;
          de statische Contactdoos clientSocket = verklaart nietig;
    
          openbare nietige init () {
                praatje = nieuwe JTextField (40);
                chattxt = nieuwe JTextArea (20.50);
    
                chat.addActionListener (nieuwe ActionListener () {
                   de openbare leegte actionPerformed (gebeurtenis ActionEvent) {
                        System.out.println (chat.getText ());
                   }
                 });
                voeg toe (praatje);
                voeg toe (chattxt);
                   chattxt.append („Hey! “);
          }
    
          openbaar nietig begin () {
               nieuwe Draad (dit) .start ();
          }
    
          openbare in werking gestelde leegte () {
              // communiceert met hier server
    
    
    De contactdoos s = verklaart nietig;
    
    probeer {
    //s = nieuwe Contactdoos (getParameter („gastheer“), Integer.valueOf (getParameter („haven“)));
    s = nieuwe Contactdoos („localhost“, 4444);
    InputStream in = s.getInputStream ();
    os = nieuwe PrintStream (clientSocket.getOutputStream ());
    int. buf = -1;
    terwijl ((buf = in.read ()) ! = „. “) {
    
    chattxt.append („\ n“ + buf);
    
    }
    chattxt.append („gelezen \ nIn: “ + in.read () + „verzonden \ nServer: “ + binnen);
    
    } vangst (Uitzondering e) {
    e.printStackTrace ();
    }
    tot slot {
    probeer {
    	s.close ();
    	} vangst (IOException e)
    	{}
    }
    
    
    
    }
    }


Here is Server.java die ik in werking stel alvorens ik ClientApplet…
1 begin:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
100:
101:
102:
103:
104:
105:
106:
107:
108:
109:
110:
111:
112:
113:
114:
115:
116:
    de invoer java.io.*;
    de invoer java.net. *;
    de invoer java.util.*;
    
    openbare klassenServer {
    
        de statische Contactdoos clientSocket = verklaart nietig;
        statische ServerSocket serverSocket = verklaart nietig;
    
    	statische clientThread t [] = nieuwe clientThread [10];
    
    
        openbare statische nietige leiding (Koord args []) {
    
    	// de standaardhaven
    
    
    
    	int. port_number=2222;
    
    	als (args.length < 1)
    	    {
    		System.out.println (het „Beginnende aantal \ van de spelserver… nPort: „+port_number);
    	    } anders {
    		port_number=Integer.valueOf (args [0]) .intValue ();
    	    }
    
            probeer {
    	    serverSocket = nieuwe ServerSocket (port_number);
    	    System.out.println („\ n ********************** \ n *** SERVER BEGONNEN *** \ n ********************** \ n“);
            }
            vangst (IOException e)
    	    {System.out.println (e);}
    
    	terwijl (waar) {
    	    probeer {
    		clientSocket = serverSocket.accept ();
    		System.out.println („*** IEMAND VERBONDEN *** \ n“);
    		voor (int. i=0; i<=9; i++) {
    		    als (t [I] ==null)
    			{
    			    (t [I] = nieuwe clientThread (clientSocket, t)).start ();
    			    onderbreking;
    			}
    		}
    	    }
    	    vangst (IOException e) {
    		System.out.println (e);}
    	}
        }
    }
    
    de klasse clientThread breidt Draad uit {
    
        BufferedReader is = nietig verklaart;
        PrintStream os = verklaart nietig;
        De contactdoos clientSocket = verklaart nietig;
        clientThread t [];
        Willekeurig broodje = nieuwe Willekeurig ();
    
        openbare clientThread (Contactdoos clientSocket, clientThread [] t) {
    	this.clientSocket=clientSocket;
            this.t=t;
        }
    
        openbare nietige looppas ()
        {
    		System.out.println („Controle 1“);
    	De lijn van het koord;
            De naam van het koord;
            int. py;
    	probeer {
    		System.out.println („Controle 2“);
    	    is = nieuwe BufferedReader (nieuwe InputStreamReader (clientSocket.getInputStream ()));
    	    System.out.println („Controle 3“);
    	    os = nieuwe PrintStream (clientSocket.getOutputStream ());
    	    System.out.println („Controle 4“);
    	    int. px = roll.nextInt (200);
    	    //os.println („ga uw naam in. “);
    	    System.out.println („Controle 5“);
    	    naam = „Gast #“ + roll.nextInt (6);
    	    System.out.println („Controle 6 \ n“);
    	    System.out.println (name+ is " het spel ingegaan. Hun aanval: „+ px);
    	    System.out.println („Controle 7“);
    	    voor (int. i=0; i<=9; i++)
    		als (t [I]! =null && t [I]! =this)
    		    t [I] .os.println („*** ging A nieuwe gebruiker „+name+“ de praatjeruimte in!!! ***“);
    		    System.out.println („Controle 8“);
    	    terwijl (waar) {
    			System.out.println („Controle 9“);
    		lijn = is.readLine ();
                    als (line.startsWith („/quit“)) onderbreking;
    		voor (int. i=0; i<=9; i++)
    		    als (t [I]! =null) t [I] .os.println („< " +name+“: „+px+ " > „+line); // iemand zei iets
    	    }
    	    voor (int. i=0; i<=9; i++)
    		als (t [I]! =null && t [I]! =this) {
    		System.out.println („\ n heeft“ + naam +“ weggegaan! \ n ");
    		    t [I] .os.println („*** de gebruiker „+name+“ verlaat de praatjeruimte!!! ***“);
    		}
    
    	    os.println („*** tot ziens „+name+“ ***“);
    
    	    voor (int. i=0; i<=9; i++) {
    		als (t [I] ==this) t [I] =null;
    		System.out.println („nSomeone \ heeft weggegaan! \ n“);
    	}
    
    	    is.close ();
    	    os.close ();
    	    clientSocket.close ();
    	}
    	vangst (IOException e) {};
        }
    }

Antwoord : De Cliënt van Java Applet - AccessControlException

Droevig, verandering
            Voor Elke strRegKey in objRegKeys

aan
            Voor Elke strRegKey in arrRegKeys


Achting,

Rob.
Andere oplossingen  
 
programming4us programming4us