此类表示通过套接字访问网络。
SocketPermission包含主机规范和一组“操作”,指定连接到该主机的方法。
主机指定为
host = (hostname | IPv4address | iPv6reference) [:portrange]
portrange = portnumber | -portnumber | portnumber-[portnumber]
主机表示为DNS名称,数字IP地址或“localhost”(对于本地计算机)。
通配符“*”可以包含在DNS名称主机规范中一次。
如果包含它,它必须位于最左边的位置,如“* .sun.com”。
IPv6引用的格式应遵循RFC 2732: Format for Literal IPv6 Addresses in URLs中指定的格式 :
ipv6reference = "[" IPv6address "]"
例如,您可以构造一个SocketPermission实例,如下所示:
String hostAddress = inetaddress.getHostAddress();
if (inetaddress instanceof Inet6Address) {
sp = new SocketPermission("[" + hostAddress + "]:" + port, action);
} else {
sp = new SocketPermission(hostAddress + ":" + port, action);
}