Spec-Zone.ru › Dart 2

dart:io

Метод secureServer

Future<SecureSocket> secureServer(
  1. Socket socket,
  2. SecurityContext? context,
  3. {List<int>? bufferedData,
  4. bool requestClientCertificate = false,
  5. bool requireClientCertificate = false,
  6. List<String>? supportedProtocols}
)

Инициализирует TLS на существующем соединении сервера.

Принимает уже подключенное socket и запускает TLS-рукопожатие со стороны сервера, чтобы сделать общение безопасным. Когда возвращаемое будущее завершается, SecureSocket завершает TLS-рукопожатие. Для использования этой функции необходимо, чтобы другой конец соединения начал TLS-рукопожатие.

Если у socket уже есть подписка, эта подписка больше не будет получать события. В большинстве случаев вызов StreamSubscription.pause на этой подписке перед началом TLS-рукопожатия — это правильное действие.

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

См. SecureServerSocket.bind для получения дополнительной информации об аргументах.

Реализация

static Future<SecureSocket> secureServer(
    Socket socket, SecurityContext? context,
    {List<int>? bufferedData,
    bool requestClientCertificate = false,
    bool requireClientCertificate = false,
    List<String>? supportedProtocols}) {
  return ((socket as dynamic /*_Socket*/)._detachRaw() as Future)
      .then<RawSecureSocket>((detachedRaw) {
    return RawSecureSocket.secureServer(detachedRaw[0] as RawSocket, context,
        subscription: detachedRaw[1] as StreamSubscription<RawSocketEvent>?,
        bufferedData: bufferedData,
        requestClientCertificate: requestClientCertificate,
        requireClientCertificate: requireClientCertificate,
        supportedProtocols: supportedProtocols);
  }).then<SecureSocket>((raw) => new SecureSocket._(raw));
}

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

Spec-Zone.ru

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