2014-10-22 3 views
0

아래는 JDK 1.7 이전 버전 잘 작동했지만, 우리는 JDK 8 테스트하면 우리는 다음과 같은 예외애플릿 JRE 8 수 열려있는 소켓 연결되지는 JRE 7에서 작업하고

Exception in thread "cth" java.security.AccessControlException: access denied    ("java.net.SocketPermission" "IP:PORT" "connect,resolve") 
at java.security.AccessControlContext.checkPermission(Unknown Source) 
at java.security.AccessController.checkPermission(Unknown Source) 
at java.lang.SecurityManager.checkPermission(Unknown Source) 
at java.lang.SecurityManager.checkConnect(Unknown Source) 
at sun.plugin2.applet.SecurityManagerHelper.checkConnectHelper(Unknown Source) 
at sun.plugin2.applet.AWTAppletSecurityManager.checkConnect(Unknown Source) 
at java.net.Socket.connect(Unknown Source) 
at iyp.simplegameapplet.d.f.a(Unknown Source) 
at iyp.b.a.b$c.run(Unknown Source) 
을 받고

우리는 여기에 서버 소켓 응용 프로그램과 통신 소켓 연결을 엽니 다 애플릿은, 우리는 서명 된 애플릿을 사용하는 소켓 통신

Socket sock = new Socket(); 
InputStream is; 
OutputStream os; 
try { 
    sock.connect(serverAddr, timeoutMs); 
} catch(SocketTimeoutException ex) { 
    return false; 
} 
is = sock.getInputStream(); 
os = sock.getOutputStream(); 

을 여는 데 사용되는 애플릿 코드입니다했다. 어떤 도움이 이해할 수있을 것이다 ...

답변

0

단서가 오른쪽 상단에있다가, 예외 스레드에서 "CTH"java.security.AccessControlException는 : 액세스을 부인했다. 게시 한 코드 스 니핏은 문제가 없지만 액세스가 거부되는 이유를 확인하려면 더 자세히 살펴야합니다.

+0

감사합니다. 소켓이 서버와 통신 할 수 없기 때문에 예외가 있지만, fullpermissions가있는 serversocket에서 java.policy 파일을 사용했습니다. 하지만 여전히이 문제가 있으며 JRE 7 이전 버전에서 잘 작동합니다. –

+0

통신하려는 서버/클라이언트에서 연결을 허용했는지 확인 했습니까? –

+0

Java 클라이언트 프로그램을 사용하여 테스트합니다. 문제가있는 Applet에서만 작동합니다. 애플릿 보안은 모든 권한과 애플릿의 객체 매개 변수 인 Permissions를 사용하여 MANIFEST.MF로 시도한 전체 권한을 사용해야합니다. –