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();
을 여는 데 사용되는 애플릿 코드입니다했다. 어떤 도움이 이해할 수있을 것이다 ...
감사합니다. 소켓이 서버와 통신 할 수 없기 때문에 예외가 있지만, fullpermissions가있는 serversocket에서 java.policy 파일을 사용했습니다. 하지만 여전히이 문제가 있으며 JRE 7 이전 버전에서 잘 작동합니다. –
통신하려는 서버/클라이언트에서 연결을 허용했는지 확인 했습니까? –
Java 클라이언트 프로그램을 사용하여 테스트합니다. 문제가있는 Applet에서만 작동합니다. 애플릿 보안은 모든 권한과 애플릿의 객체 매개 변수 인 Permissions를 사용하여 MANIFEST.MF로 시도한 전체 권한을 사용해야합니다. –