The address
can either be a String or an
InternetAddress. If address
is a String, bind will
perform a InternetAddress.lookup and use the first value in the
list. To listen on the loopback adapter, which will allow only
incoming connections from the local host, use the value
InternetAddress.LOOPBACK_IP_V4 or
InternetAddress.LOOPBACK_IP_V6. To allow for incoming
connection from the network use either one of the values
InternetAddress.ANY_IP_V4 or InternetAddress.ANY_IP_V6 to
bind to all interfaces or the IP address of a specific interface.
If an IP version 6 (IPv6) address is used, both IP version 6
(IPv6) and version 4 (IPv4) connections will be accepted. To
restrict this to version 6 (IPv6) only, use v6Only
to set
version 6 only.
If port
has the value 0
an ephemeral port will be chosen by
the system. The actual port used can be retrieved using the
port
getter.
The optional argument backlog
can be used to specify the listen
backlog for the underlying OS listen setup. If backlog
has the
value of 0
(the default) a reasonable value will be chosen by
the system.
If requestClientCertificate
is true, the server will
request clients to authenticate with a client certificate.
The server will advertise the names of trusted issuers of client
certificates, getting them from context
, where they have been
set using SecurityContext.setClientAuthorities.
The optional argument shared
specifies whether additional HttpServer
objects can bind to the same combination of address
, port
and v6Only
.
If shared
is true
and more HttpServer
s from this isolate or other
isolates are bound to the port, then the incoming connections will be
distributed among all the bound HttpServer
s. Connections can be
distributed over multiple isolates this way.
Source
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);