2011-05-04 4 views
0

다음은이 오류의 일부입니다. 이 오류로 인해 애플릿이 초기화되지 않았습니다. 나는 다음과 같은 오류가있어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에 다른 프로그램을 실행하고 다음 코드는 초기화() 메소드의 일부입니다. localhost에서 1307 포트를 사용하여 둘 다 연결하려고합니다.

답변

1

(보안상의 이유로) 애플릿을로드 한 호스트를 제외한 모든 호스트에 연결할 수 없습니다.

어쨌든 그렇게하고 싶다면 애플릿에 서명해야합니다.

+0

감사합니다. 정보 :) – user661921

1

이것은 보안 문제로 애플릿 내에서 연결을 만들 수 없습니다. 애플릿은 일반적으로 소켓 연결을 열 수 없습니다.

보다 구체적으로 애플릿을 제공 한 서버에 대한 연결 만 열 수 있습니다.

관련 문제