bind 静态方法

Future<HttpServer> bind(
  1. dynamic address,
  2. int port, {
  3. int backlog = 0,
  4. bool v6Only = false,
  5. bool shared = false,
})

在指定的 addressport 上监听 HTTP 请求。

address 可以是 StringInternetAddress。如果 addressStringbind 将执行 InternetAddress.lookup 并使用列表中的第一个值。要监听回环适配器,这将只允许来自本地主机的入站连接,请使用值 InternetAddress.loopbackIPv4InternetAddress.loopbackIPv6。要允许从网络接收入站连接,请使用值 InternetAddress.anyIPv4InternetAddress.anyIPv6 来绑定到所有接口或特定接口的 IP 地址。

如果使用 IP 版本 6 (IPv6) 地址,将接受 IP 版本 6 (IPv6) 和版本 4 (IPv4) 的连接。要仅限制为版本 6 (IPv6),请使用 v6Only 将版本设置为 6。但是,如果地址是 InternetAddress.loopbackIPv6,则仅接受 IP 版本 6 (IPv6) 的连接。

如果 port 的值为 0,系统将选择一个临时端口。实际使用的端口可以通过 port 属性获取。

可选参数 backlog 可以用来指定底层 OS 监听设置的监听队列。如果 backlog 的值为 0(默认值),系统将选择一个合理的值。

可选参数 shared 指定了额外的 HttpServer 对象是否可以绑定到相同的 addressportv6Only 组合。如果 sharedtrue,并且来自此隔离区或其他隔离区的更多 HttpServer 绑定了端口,则入站连接将分布到所有已绑定的 HttpServer 中。可以通过这种方式在多个隔离区之间分配连接。

实现

static Future<HttpServer> bind(address, int port,
        {int backlog = 0, bool v6Only = false, bool shared = false}) =>
    _HttpServer.bind(address, port, backlog, v6Only, shared);