bindSecure 静态方法
- dynamic address,
- int port,
- SecurityContext context,
- {int backlog = 0,
- bool v6Only = false,
- bool requestClientCertificate = false,
address
可以是一个 String 或一个 InternetAddress。如果 address
是一个 String,则 bind 将执行 InternetAddress.lookup 并使用列表中的第一个值。要监听回环适配器,仅允许来自本地主机的入站连接,请使用 InternetAddress.loopbackIPv4 或 InternetAddress.loopbackIPv6 的值。要允许来自网络的入站连接,请使用 InternetAddress.anyIPv4 或 InternetAddress.anyIPv6 以绑定到所有接口或特定接口的 IP 地址。
如果使用 IPv6 地址(IPv6),则将接受 IPv6 和版本 4(IPv4)的连接。要仅将此限制为 IPv6,请使用 v6Only
设置为仅 IPv6。
如果 port
的值为 0,系统将选择一个临时端口。实际使用的端口可以使用 port
属性获取。
可选参数 backlog
可以用来指定底层 OS 监听设置的监听队列。如果 backlog
的值为 0(默认值),系统将选择一个合理的值。
如果 requestClientCertificate
为 true,服务器将要求客户端使用客户端证书进行认证。服务器将通过 SecurityContext 宣传信任的客户端证书发行者名称,从设置证书的地方获取,使用 SecurityContext.setClientAuthorities 设置。
可选参数 shared
指定额外的 HttpServer
对象是否可以绑定到相同的 address
、port
和 v6Only
组合。如果 shared
为 true
且从本隔离区或其它隔离区有更多 HttpServer
绑定到该端口,则入站连接将在所有已绑定的 HttpServer
之间进行分配。可以通过这种方式在多个隔离区之间分配连接。
实现
static Future<HttpServer> bindSecure(
address, int port, SecurityContext context,
{int backlog = 0,
bool v6Only = false,
bool requestClientCertificate = false,
bool shared = false}) =>
_HttpServer.bindSecure(address, port, context, backlog, v6Only,
requestClientCertificate, shared);