Java 网络编程:异步套接字通道与安全权限
1. 套接字安全权限
在 Java 中,可以使用 java.net.SocketPermission
类的实例来控制 Java 程序对套接字的访问。在 Java 策略文件中授予套接字权限的通用格式如下:
grant {
permission java.net.SocketPermission
"target", "actions";
};
其中, target
的形式为 <主机名>:<端口范围>
, actions
可能的值包括 accept
、 connect
、 listen
和 resolve
。 listen
操作仅在主机名使用 “localhost” 时才有意义, resolve
操作指的是 DNS 查找,如果存在其他三个操作之一,则隐含该操作。
主机名可以是 DNS 名称或 IP 地址,在 DNS 主机名中可以使用星号(*)作为通配符,但必须作为 DNS 名称的最左侧字符。如果主机名仅由星号组成,则表示任何主机,“localhost” 表示本地机器。端口范围可以用不同的格式表示,如下表所示:
| 端口范围值 | 描述 |
| — | — |
| N1 | 仅