Spec-Zone.ru › Dart 2

dart:io

статический метод secureServer

Future<RawSecureSocket> secureServer(
  1. RawSocket socket,
  2. SecurityContext? context,
  3. {StreamSubscription<RawSocketEvent>? subscription,
  4. List<int>? bufferedData,
  5. bool requestClientCertificate = false,
  6. bool requireClientCertificate = false,
  7. List<String>? supportedProtocols}
)

Инициирует TLS для существующего серверного соединения.

Принимает уже подключенный socket и запускает серверное рукопожатие TLS, чтобы сделать обмен данными безопасным. После завершения возвращаемого future объект RawSecureSocket завершит рукопожатие TLS. Использование этой функции требует, чтобы другая сторона соединения начала рукопожатие TLS.

Если у socket уже есть подписка, передайте существующую подписку в параметре subscription. Операция secureServer перехватит подписку, заменив обработчики собственными обработчиками защищённой передачи данных. Вызывающая сторона больше не должна обращаться к этой подписке. Передача приостановленной подписки приведёт к ошибке.

Если часть данных рукопожатия TLS уже была прочитана из сокета, эти данные можно передать в параметре bufferedData. Они будут обработаны до любых других данных, доступных в сокете.

Дополнительные сведения об аргументах см. в RawSecureServerSocket.bind.

Реализация

static Future<RawSecureSocket> secureServer(
    RawSocket socket, SecurityContext? context,
    {StreamSubscription<RawSocketEvent>? subscription,
    List<int>? bufferedData,
    bool requestClientCertificate = false,
    bool requireClientCertificate = false,
    List<String>? supportedProtocols}) {
  socket.readEventsEnabled = false;
  socket.writeEventsEnabled = false;
  return _RawSecureSocket.connect(
      socket.address, socket.remotePort, true, socket,
      context: context,
      subscription: subscription,
      bufferedData: bufferedData,
      requestClientCertificate: requestClientCertificate,
      requireClientCertificate: requireClientCertificate,
      supportedProtocols: supportedProtocols);
}

© 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/RawSecureSocket/secureServer.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API