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-рукопожатие, чтобы обеспечить безопасность соединения. Когда возвращённый future завершится, SecureSocket завершит TLS-рукопожатие. Использование этой функции требует, чтобы другой конец соединения начал TLS-рукопожатие.

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

Если часть данных 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._detachRaw().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.19.6/dart-io/SecureSocket/secureServer.html

Spec-Zone.ru

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