bind 静态方法

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

在指定的地址和端口上开始监听HTTP请求。

地址可以是 StringInternetAddress。如果地址是 Stringbind 将执行 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,则系统将选择一个 ephemeral端口。实际使用的端口可以使用 portgetter检索。

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

可选参数 shared 指定是否可以绑定到相同的地址、端口和 v6Only 组合的额外 HttpServer 对象。如果 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);