статический метод secureServer
Инициирует 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