java套接字权限问题

java套接字权限问题,java,security,sockets,Java,Security,Sockets,我需要通过小程序中的套接字向远程机器写入数据。小程序驻留在封闭医院系统的内部网中,因此更改java安全文件不是问题。在Oracle网站上,他们建议进行以下策略更改: 授予{ 权限java.net.SocketPermission “10.130.71.156:8000”,“连接,接受”; }; 我已经这样做了,但仍然出现以下错误: java.security.AccessControlException: access denied (java.net.SocketPermission [10.

我需要通过小程序中的套接字向远程机器写入数据。小程序驻留在封闭医院系统的内部网中,因此更改java安全文件不是问题。在Oracle网站上,他们建议进行以下策略更改:

授予{ 权限java.net.SocketPermission “10.130.71.156:8000”,“连接,接受”; };

我已经这样做了,但仍然出现以下错误:

java.security.AccessControlException: access denied (java.net.SocketPermission [10.130.71.156:8000]resolve)     

知道问题可能是什么吗?

有一个配置问题导致了错误。配置文件中的IP地址与策略文件中的IP地址不匹配。这就是为什么会出现安全错误。在他们的评论中建议使用通配符的人(ataylor)回答这个问题值得称赞。通配符允许我们查看正在轮询的DNS。谢谢大家!


Elliott

问题的表述方式是现在抛出SecurityException,因为策略不允许“解决”。政策很可能是


授予{permission java.net.SocketPermission“10.130.71.156:8000”,“连接,解析”;}

你知道
puffin.eng.sun.com
只是一个演示/占位符地址,对吧?是的。这不是我权限文件中的内容。我有要连接的服务器的实际DNS。请尝试将主机名更改为通配符
*
,以确保不会混淆DNS主机名解析。您是使用appletviewer还是浏览器进行测试?您确定正在使用正确的策略文件吗?更改为通配符有效。我不知道为什么。但这是一个非常有用的建议。非常感谢。