[java applet] java.policy , socket permisson 오류 메시지에 대한 질문입니다.

jw8704의 이미지

안녕하세요

java applet 소스 내에서 socket 함수를 사용해서 특정 ip 로 접속을 하려합니다.

그런데 이게 새로 짠게아니고 2011,12 년도에 짜논거 그대로 사용하는건데..

그때는 잘되었었는데.. 지금은 그대로 사용하려하면 다음과 같은 오류가 납니다.

access denied (java.net.SocketPermission 1.2.3.4:8080 connect,resolve)

그래서 이를 해결하기위해 Client 측 java.policy 파일에 permission java.security.AllPermission; 를 추가했습니다.

그렇게 하고나니까 잘되긴하는데..

예전에는 저거 추가안해도 잘되었는데 , 그사이에 뭐가 바뀐것인가요?

예전과 달라진 환경은 JRE 가 바뀌긴했는데..

물론 Signed Applet 등등의 해결법이존재한다는것은 알고있으나,, 예전에는 그냥 되었었습니다.

그리고 Applet 내에서 Applet 가 존재하는 server 과 socket 에서 접속하려는 서버 ip 가 같을경우는

다른 조치가 필요하지않았던것으로알고있는데 , 왜그런건지 모르겠습니다.

혹시 아시는분 있으시면 답변부탁드립니다.

더운여름에 고생하십시오.

bushi의 이미지

최근에 같은 문제를 겪었습니다. JRE 8 이었고, java applet 으로 작성된 vncviewer 에서요.
http://www.oracle.com/technetwork/java/javase/7u51-relnotes-2085002.html 의 "Change in Default Socket Permissions" 에 따르면,
49152 ~ 65535 포트를 사용하지 않는 한 java.policy 에 일일이 다 적어줘야 될 모양입니다.

jw8704의 이미지

그러니까 .. bushi 님도 이전에는 따로 java.policy 수정없이 사용하시던것을 , 어느순간 부터( 아마도 JRE 가 업데이트된이후) 이렇게 socket permission 오류가 나고 그에 따라 java.policy 를 수정하면 되셨다는것인가요?