SecureSocket абстрактный класс
Высокоуровневый класс для безопасного взаимодействия через TCP-сокет, используя TLS и SSL. SecureSocket предоставляет интерфейс Stream и IOSink, что делает его идеальным для использования вместе с другими Stream.
- Реализует
Статические методы
- connect(
host, int port, { SecurityContext context, bool onBadCertificate(X509Certificate certificate), List<String> supportedProtocols }) → Future<SecureSocket> -
Создаёт новый защищённый сокет клиента и подключает его к указанному
hostна портуport. Возвращаемое Future завершится SecureSocket, который подключён и готов к подписке. - secure(
Socket socket, { host, SecurityContext context, bool onBadCertificate(X509Certificate certificate) }) → Future<SecureSocket> -
Принимает уже подключенный
socketи запускает TLS-рукопожатие со стороны клиента, чтобы обеспечить безопасность связи. После завершения возвращаемого Future SecureSocket завершит TLS-рукопожатие. Использование этой функции предполагает, что другой конец соединения подготовлен к TLS-рукопожатию. - secureServer(
Socket socket, SecurityContext context, { List<int> bufferedData, bool requestClientCertificate: false, bool requireClientCertificate: false, List<String> supportedProtocols }) → Future<SecureSocket> -
Принимает уже подключенный
socketи запускает TLS-рукопожатие со стороны сервера, чтобы обеспечить безопасность связи. После завершения возвращаемого Future SecureSocket завершит TLS-рукопожатие. Использование этой функции предполагает, что другой конец соединения собирается начать TLS-рукопожатие.
Свойства
- peerCertificate → X509Certificate только для чтения
-
Получение сертификата удалённого узла для подключённого SecureSocket. Если этот SecureSocket является серверной частью защищённого соединения,
peerCertificateвернёт сертификат клиента или null, если сертификат клиента не был получен. Если это клиентская часть,peerCertificateвернёт сертификат сервера. - selectedProtocol → String только для чтения
-
Протокол, выбранный во время переговоров по протоколу ALPN.
- address → InternetAddress только для чтения, унаследованное
-
Возвращает
InternetAddressиспользуемый для подключения этого сокета. - done → Future<Socket> только для чтения, унаследованное
- encoding → Encoding чтение/запись, унаследованное
-
Используемый Encoding при записи строк. В зависимости от базового потребителя это свойство может быть изменяемым.
- first → Future<List<int>> только для чтения, унаследованное
-
Возвращает первый элемент потока.
- hashCode → int только для чтения, унаследованное
-
Хэш-код этого объекта.
- isBroadcast → bool только для чтения, унаследованное
-
Является ли этот поток потоком широковещательной передачи.
- isEmpty → Future<bool> только для чтения, унаследованное
-
Указывает, содержит ли этот поток какие-либо элементы.
- last → Future<List<int>> только для чтения, унаследованное
-
Возвращает последний элемент потока.
- length → Future<int> только для чтения, унаследованное
-
Считает элементы в потоке.
- port → int только для чтения, унаследованное
-
Возвращает порт, используемый этим сокетом.
- remoteAddress → InternetAddress только для чтения, унаследованное
-
Возвращает удалённый
InternetAddressподключённый к этому сокету. - remotePort → int только для чтения, унаследованное
-
Возвращает удалённый порт, подключённый к этому сокету.
- runtimeType → Type только для чтения, унаследованное
-
Представление типа объекта в ходе выполнения.
- single → Future<List<int>> только для чтения, унаследованное
-
Возвращает единственный элемент.
Операторы
- operator ==(
other) → bool унаследованное -
Оператор равенства.
Методы
- renegotiate(
{bool useSessionCache: true, bool requestClientCertificate: false, bool requireClientCertificate: false }) → void -
Перезаключить существующее защищённое соединение, обновив ключи сессии и, возможно, изменив свойства соединения.
- add(
List<int> data) → void inherited -
Добавляет байты
dataк целевому потребителю, игнорируя кодировку. - addError(
error, [ StackTrace stackTrace ]) → void inherited -
Передаёт ошибку целевому потребителю как событие об ошибке.
- addStream(
Stream<List<int>> stream) → Future inherited -
Добавляет все элементы заданного
streamвthis. - any(
bool test(T element)) → Future<bool> inherited -
Проверяет, принимает ли
testлюбой элемент, предоставляемый этим потоком. - asBroadcastStream(
{void onListen(StreamSubscription<T> subscription), void onCancel(StreamSubscription<T> subscription) }) → Stream<List<int>> inherited -
Возвращает поток с множественным подписанием, генерирующий те же события, что и этот.
- asyncExpand<E>(
Stream<E> convert(T event)) → Stream<E> inherited -
Создаёт новый поток с событиями потока на основе оригинального события.
- asyncMap<E>(
dynamic convert(T event)) → Stream<E> inherited -
Создаёт новый поток, асинхронно отображающий каждое событие данных из этого потока в новое событие.
- close(
) → Future<Socket> inherited -
Закрыть целевого потребителя.
- contains(
Объект needle) → Future<bool> inherited -
Проверяет, появляется ли
needleв элементах, предоставляемых этим потоком. - destroy(
) → void inherited -
Уничтожить сокет в обоих направлениях. Вызов destroy отправит событие закрытия в поток и он больше не будет реагировать на данные, передаваемые в него.
- distinct(
[bool equals(T previous, T next) ]) → Stream<List<int>> inherited -
Пропускает события данных, если они равны предыдущему событию данных.
- drain<E>(
[E futureValue ]) → Future<E> inherited -
Отбрасывает все данные в потоке, но сигнализирует о завершении или возникновении ошибки.
- elementAt(
int index) → Future<List<int>> inherited -
Возвращает значение
index-го события данных этого потока. - every(
bool test(T element)) → Future<bool> inherited -
Проверяет, принимает ли
testвсе элементы, предоставляемые этим потоком. - expand<S>(
Iterable<S> convert(T value)) → Stream<S> inherited -
Создаёт новый поток из этого потока, преобразующий каждый элемент в ноль или более событий.
- firstWhere(
bool test(T element), { Объект defaultValue() }) → Future inherited -
Находит первый элемент этого потока, соответствующий
test. - flush(
) → Future inherited -
Возвращает Future, который завершается, когда все буферизованные данные принимаются базовым StreamConsumer.
- fold<S>(
S initialValue, S combine(S previous, T element)) → Future<S> inherited -
Рекурсивно применяет
combineк последовательности значений. - forEach(
void action(T element)) → Future inherited -
Выполняет
actionдля каждого события данных в потоке. - handleError(
Function onError, { bool test(error) }) → Stream<List<int>> inherited -
Создаёт обёртку Stream, которая перехватывает некоторые ошибки из этого потока.
- join(
[Строка separator = "" ]) → Future<Строка> inherited -
Собранные строковые представления событий данных.
- lastWhere(
bool test(T element), { Объект defaultValue() }) → Future inherited -
Находит последний элемент в этом потоке, соответствующий
test. - listen(
void onData(T event), { Функция onError, void onDone(), bool cancelOnError }) → StreamSubscription<List<int>> inherited -
Добавляет подписку на этот поток.
- map<S>(
S convert(T event)) → Stream<S> inherited -
Создаёт новый поток, преобразующий каждый элемент этого потока в новое значение с помощью функции
convert. - noSuchMethod(
Invocation invocation) → dynamic inherited -
Вызывается при обращении к несуществующему методу или свойству.
- pipe(
StreamConsumer<List<int>> streamConsumer) → Future inherited -
Перенаправляет события этого потока в
streamConsumer. - reduce(
List<int> combine(T previous, T element)) → Future<List<int>> inherited -
Рекурсивно применяет
combineк последовательности значений. - setOption(
SocketOption option, bool enabled) → bool inherited -
Используйте setOption для настройки RawSocket. См. SocketOption для доступных вариантов.
- singleWhere(
bool test(T element)) → Future<List<int>> inherited
-
Находит единственный элемент в этом потоке, соответствующий
test. - skip(
int count) → Stream<Список<int>> inherited -
Пропускает первые
countсобытий данных из этого потока. - skipWhile(
bool test(T element)) → Stream<Список<int>> inherited -
Пропускает события данных из этого потока, пока они соответствуют
test. - take(
int count) → Stream<Список<int>> inherited -
Предоставляет не более первых
countсобытий данных из этого потока. - takeWhile(
bool test(T element)) → Stream<Список<int>> inherited -
Пересылает события данных, пока
testвыполняется успешно. - timeout(
Duration timeLimit, { void onTimeout(EventSink<T> sink) }) → Stream<Список<int>> inherited -
Создаёт новый поток с теми же событиями, что и этот поток.
- toList(
) → Future<Список<Список<int>>> inherited -
Собрать данные этого потока в список.
- toSet(
) → Future<Множество<Список<int>>> inherited -
Собрать данные этого потока в множество.
- toString(
) → Строка inherited -
Возвращает строковое представление этого объекта.
- transform<S>(
StreamTransformer<Список<int>, S> streamTransformer) → Stream<S> inherited -
Цепочечный поток в качестве входных данных указанного StreamTransformer.
- where(
bool test(T event)) → Stream<Список<int>> inherited -
Создаёт новый поток из этого потока, который отбрасывает некоторые события данных.
- write(
Объект obj) → void inherited -
Преобразует
objв строку, вызвав Object.toString, и добавляет кодировку результата к целевому потребителю. - writeAll(
Iterable objects, [ Строка separator = "" ]) → void inherited -
Перебирает предоставленный
objectsи последовательно записывает их. - writeCharCode(
int charCode) → void inherited -
Записывает символ
charCode. - writeln(
[Объект obj = "" ]) → void inherited -
Преобразует
objв строку, вызвав Object.toString, и записывает результат вthis, после чего следует новая строка.
© 2012 the Dart project authors
Licensed under the Creative Commons Attribution-ShareAlike License v4.0.
https://api.dartlang.org/stable/1.24.3/dart-io/SecureSocket-class.html