Статический метод bindSecure
Значением address может быть строка String или объект InternetAddress. Если address — строка String, bind выполнит поиск адреса с помощью InternetAddress.lookup и использует первое значение из списка. Чтобы прослушивать петлевой адаптер, который допускает только входящие подключения с локального узла, используйте значение InternetAddress.loopbackIPv4 или InternetAddress.loopbackIPv6. Чтобы разрешить входящие подключения из сети, используйте одно из значений InternetAddress.anyIPv4 или InternetAddress.anyIPv6 для привязки ко всем интерфейсам либо IP-адрес определённого интерфейса.
Если используется адрес IP версии 6 (IPv6), будут приниматься подключения как по IP версии 6 (IPv6), так и по версии 4 (IPv4). Чтобы ограничить подключения только версией 6 (IPv6), используйте v6Only, чтобы включить только версию 6.
Если значение port равно 0, система выберет временный порт. Фактически используемый порт можно получить с помощью геттера port.
Необязательный аргумент backlog позволяет указать размер очереди ожидания подключений для настройки прослушивания в базовой ОС. Если значение backlog равно 0 (значение по умолчанию), система выберет подходящее значение.
Если requestClientCertificate равно true, сервер запросит у клиентов аутентификацию с помощью клиентского сертификата. Сервер сообщит имена доверенных издателей клиентских сертификатов, получив их из SecurityContext, где они задаются с помощью SecurityContext.setClientAuthorities.
Необязательный аргумент shared указывает, могут ли дополнительные объекты HttpServer привязываться к той же комбинации address, port и v6Only. Если shared равно true и к порту привязано больше HttpServers из этого изолята или других изолятов, входящие подключения будут распределяться между всеми привязанными объектами 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);
© 2012 the Dart project authors
Licensed under the BSD 3-Clause "New" or "Revised" License.
https://api.dart.dev/stable/2.19.6/dart-io/HttpServer/bindSecure.html