6
permission java.net.SocketPermission "192.168.1.1:31337", "connect, accept, resolve";

以下权限允许什么?我的应用程序是否允许仅接受来自 192.168.1.1:31337 的连接(可能是外部客户端)或接受到 192.168.1.1:31337 的连接(我的应用程序在 192.168.1.1:31337 上运行,与“听”的区别在哪里? '?)。

4

1 回答 1

4

如果您的代码是小程序或在 java 安全管理器下运行,您需要明确授予它执行操作的权限。

为了允许对小程序(或使用安全管理器运行的应用程序)进行资源访问,必须将相应的权限显式授予尝试访问的代码。

默认情况下,您的代码没有套接字权限。您的许可表示您的代码有权接受连接、连接和解析192.168.1.1在 port 上具有 IP 的主机31337

“接受”和“连接”动作是显而易见的。

当存在任何其他动作时,暗示“解决”动作。操作“resolve”是指主机/IP 名称服务查找。

“listen”操作仅在与“localhost”一起使用时才有意义。

听和接受的区别在于,听的意思是“准备连接,看看是否有连接等待”,而接受的意思是“好的,接受它”。

有关 java 7.java.net.SocketPermission java 文档中的权限,请参阅文档

于 2012-09-05T15:15:38.947 回答