2011-05-04 52 views
0

以下是我的错误的一部分。由于这个错误,我的applet没有初始化。以下代码是init()方法的一部分:Java中的套接字权限错误

 
Socket sock; 
try { 
    sock = new Socket("localhost", 1307); 
    out = new PrintWriter(sock.getOutputStream(), true); 
    in = new BufferedReader(new InputStreamReader(sock.getInputStream())); 
} 
catch (UnknownHostException e) { } 
catch (IOException e) { } 

我米得到以下错误:

 
java.security.AccessControlException: access denied (java.net.SocketPermission 1 
127.0.0.1 resolve) 
     at java.security.AccessControlContext.checkPermission(AccessControlConte 
xt.java:323) 
     at java.security.AccessController.checkPermission(AccessController.java: 
546) 
     at java.lang.SecurityManager.checkPermission(SecurityManager.java:532) 
     at java.lang.SecurityManager.checkConnect(SecurityManager.java:1031) 
     at java.net.InetAddress.getAllByName0(InetAddress.java:1145) 
     at java.net.InetAddress.getAllByName(InetAddress.java:1083) 
     at java.net.InetAddress.getAllByName(InetAddress.java:1019) 
     at java.net.InetAddress.getByName(InetAddress.java:969) 
     at java.net.InetSocketAddress.(InetSocketAddress.java:124) 
     at java.net.Socket.(Socket.java:186) 
     at Alice.init(Alice.java:103) 
     at sun.applet.AppletPanel.run(AppletPanel.java:424) 
     at java.lang.Thread.run(Thread.java:619) 

我运行在另一个JVM另一个程序。我正尝试在本地主机上使用1307端口连接。

回答

1

Applets可能无法连接到除加载它们的任何主机(由于安全原因)。

如果你想这样做,你必须签署你的小程序。

+0

感谢您的信息.. :) – user661921 2011-05-06 10:17:47

1

这是一个安全问题,不允许您在小应用程序内创建连接。通常小程序不允许打开套接字连接。

更具体地说,您只能打开连接到服务该applet的服务器的连接。