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.18.5/dart-io/RawSecureSocket/secureServer.html

Spec-Zone.ru

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