【发布时间】:2011-02-06 11:02:52
【问题描述】:
我正在做一个人工智能项目,这是一个逻辑游戏,目标是两个用户连接到网络上的服务器,他们充当管理员,然后开始一个接一个地玩。
为了创建连接,我有一个服务器代码,它只是在 localhost:8000 上侦听并在客户端到达时为其分配团队值。连接后,客户端在管理员的控制下进行操作。
问题是,当我尝试让我的代码在浏览器中运行时,它会失败并出现以下错误:
java.security.AccessControlException: access denied (java.net.SocketPermission 127.0.0.1:8000 connect,resolve)
即使我已经创建了自己的策略,首先只授予对我的项目文件夹 (file:///home/xxx/projects/-) 的代码库的 Socket 访问权限,在它不起作用之后,我授予了 all 权限em>所有代码库。我尝试将我的策略文件放在主目录和我的小程序代码所在的同一目录中。
感谢任何提示,谢谢。
【问题讨论】:
-
当我按如下方式从控制台启动服务器后尝试运行我的客户端代码时,我能够识别我自己的位于我的主目录中的策略文件:appletviewer -J-Djava.security。 policy=mypolicy.policy file:///home/xxx/NetBeansProjects/project/src/index.html 但是当我尝试从 IDE 运行时,它失败了:s
-
对小程序 jar 进行签名可能更容易管理。省去您在希望它运行的每个盒子上安装策略文件的麻烦。