Абстрактный класс RawSecureSocket
RawSecureSocket предоставляет защищённое (SSL или TLS) сетевое соединение. Клиентские соединения с сервером создаются вызовом RawSecureSocket.connect. Защищённый сервер, созданный с помощью RawSecureServerSocket, также возвращает объекты RawSecureSocket, представляющие серверную часть защищённого соединения. Сертификат, предоставленный сервером, проверяется с использованием надёжных сертификатов, установленных в объекте SecurityContext. По умолчанию объект SecurityContext содержит встроенный набор надёжных корневых сертификатов для известных центров сертификации.
- Реализует
Статические методы
- connect(
host, int port, { SecurityContext context, bool onBadCertificate(X509Certificate certificate), List<String> supportedProtocols }) → Future<RawSecureSocket> -
Создаёт новый защищённый сокет-клиента и подключает его к указанному хосту на указанном порту. Возвращаемое значение Future завершается объектом RawSecureSocket, когда он подключен и готов к подписке.
- secure(
RawSocket socket, { StreamSubscription<RawSocketEvent> subscription, host, SecurityContext context, bool onBadCertificate(X509Certificate certificate), List<String> supportedProtocols }) → Future<RawSecureSocket> -
Принимает уже подключённый
socketи начинает TLS-рукопожатие со стороны клиента, чтобы сделать общение безопасным. Когда завершается возвращаемое будущее, RawSecureSocket завершает TLS-рукопожатие. Использование этой функции требует, чтобы другая сторона соединения была готова к TLS-рукопожатию. - secureServer(
RawSocket socket, SecurityContext context, { StreamSubscription<RawSocketEvent> subscription, List<int> bufferedData, bool requestClientCertificate: false, bool requireClientCertificate: false, List<String> supportedProtocols }) → Future<RawSecureSocket> -
Принимает уже подключённый
socketи начинает TLS-рукопожатие со стороны сервера, чтобы сделать общение безопасным. Когда завершается возвращаемое будущее, RawSecureSocket завершает TLS-рукопожатие. Использование этой функции требует, чтобы другая сторона соединения собиралась начать TLS-рукопожатие.
Конструкторы
- RawSecureSocket()
Свойства
- peerCertificate → X509Certificate только для чтения
-
Получить сертификат удалённой стороны для подключённого RawSecureSocket. Если этот RawSecureSocket является серверной частью защищённого сокета,
peerCertificateвернёт сертификат клиента или null, если сертификат клиента не получен. Если это клиентская часть,peerCertificateвернёт сертификат сервера. - selectedProtocol → String только для чтения
-
Протокол, который был выбран во время согласования протоколов.
- address → InternetAddress только для чтения, унаследованное
-
Возвращает
InternetAddress, используемое для подключения этого сокета. - first → Future<RawSocketEvent> только для чтения, унаследованное
-
Возвращает первый элемент потока.
- hashCode → int только для чтения, унаследованное
-
Хеш-код этого объекта.
- isBroadcast → bool только для чтения, унаследованное
-
Является ли этот поток потоком широковещательной передачи.
- isEmpty → Future<bool> только для чтения, унаследованное
-
Сообщает, содержит ли этот поток какие-либо элементы.
- last → Future<RawSocketEvent> только для чтения, унаследованное
-
Возвращает последний элемент потока.
- length → Future<int> только для чтения, унаследованное
-
Подсчитывает элементы в потоке.
- port → int только для чтения, унаследованное
-
Возвращает порт, используемый этим сокетом.
- readEventsEnabled → bool чтение/запись, унаследованное
-
Установить или получить, если RawSocket должен прослушивать события RawSocketEvent.READ. Значение по умолчанию
true. - remoteAddress → InternetAddress только для чтения, унаследованное
-
Возвращает удалённый
InternetAddress, подключённый к этому сокету. - remotePort → int только для чтения, унаследованное
-
Возвращает удалённый порт, подключённый к этому сокету.
- runtimeType → Type только для чтения, унаследованное
-
Представление типа объекта в момент выполнения.
- single → Future<RawSocketEvent> только для чтения, унаследованное
-
Возвращает единственный элемент.
- writeEventsEnabled → bool чтение/запись, унаследованное
-
Установить или получить, если RawSocket должен прослушивать события RawSocketEvent.WRITE. Значение по умолчанию
true. Это слушатель на один раз, и writeEventsEnabled необходимо установить в значение true снова, чтобы получить другое событие записи.
Операторы
- operator ==(
other) → bool унаследованное -
Оператор равенства.
Методы
- переустановить(
{bool использоватьКэшСессии: true, bool запросСертификатаКлиента: false, bool требуетсяСертификатКлиента: false }) → void -
Переустанавливает существующее защищённое соединение, обновляя ключи сессии и, возможно, изменяя свойства соединения.
- any(
bool test(T элемент)) → Future<bool> inherited -
Проверяет, принимает ли
testлюбой элемент, предоставляемый этим потоком. - преобразоватьВПотокРаспространения(
{void onListen(StreamSubscription<T> подписка), void onCancel(StreamSubscription<T> подписка) }) → Stream<RawSocketEvent> inherited -
Возвращает поток с множественными подписками, который производит те же события, что и этот.
- asyncExpand<E>(
Stream<E> преобразовать(T событие)) → Stream<E> inherited -
Создаёт новый поток с событиями потока на каждое исходное событие.
- asyncMap<E>(
dynamic преобразовать(T событие)) → Stream<E> inherited -
Создаёт новый поток, асинхронно преобразующий каждое событие данных этого потока в новое событие.
- доступно(
) → int inherited -
Возвращает количество полученных и не прочитанных байтов в сокете, которые можно прочитать.
- закрыть(
) → Future<RawSocket> inherited -
Закрывает сокет. Возвращает Future, которое завершается значением
thisпри полном уничтожении базового соединения. - содержит(
Объект искомое) → Future<bool> inherited -
Проверяет, появляется ли
needleв элементах, предоставляемых этим потоком. - различия(
[bool equals(T предыдущий, T следующий) ]) → Stream<RawSocketEvent> inherited -
Пропускает события данных, если они равны предыдущему событию данных.
- очистить<E>(
[E конечноеЗначение ]) → Future<E> inherited -
Отбрасывает все данные в потоке, но сигнализирует о завершении или возникновении ошибки.
- элементByIndex(
int индекс) → Future<RawSocketEvent> inherited -
Возвращает значение
index-го события данных этого потока. - every(
bool test(T элемент)) → Future<bool> inherited -
Проверяет, принимает ли
testвсе элементы, предоставляемые этим потоком. - расширить<S>(
Iterable<S> преобразовать(T значение)) → Stream<S> inherited -
Создаёт новый поток из этого потока, преобразующий каждый элемент в ноль или более событий.
- первый_где(
bool test(T элемент), { Объект defaultValue() }) → Future inherited -
Находит первый элемент этого потока, соответствующий
test. - fold<S>(
S начальноеЗначение, S combine(S предыдущее, T элемент)) → Future<S> inherited -
Сводит последовательность значений, повторяя применение
combine. - forEach(
void action(T элемент)) → Future inherited -
Выполняет
actionна каждом событии данных потока. - обработкаОшибки(
Функция onError, { bool test(error) }) → Stream<RawSocketEvent> inherited -
Создаёт оберточный поток, перехватывающий некоторые ошибки из этого потока.
- соединить(
[Строка separator = "" ]) → Future<Строка> inherited -
Собрать строку из строковых представлений событий данных.
- последний_где(
bool test(T элемент), { Объект defaultValue() }) → Future inherited -
Находит последний элемент в этом потоке, соответствующий
test. - следить(
void onData(T событие), { Функция onError, void onDone(), bool cancelOnError }) → StreamSubscription<RawSocketEvent> inherited -
Добавляет подписку на этот поток.
- преобразовать<S>(
S преобразовать(T событие)) → Stream<S> inherited -
Создаёт новый поток, преобразующий каждый элемент этого потока в новое значение с помощью функции
convert. - noSuchMethod(
Вызов вызов) → dynamic inherited -
Вызывается при обращении к несуществующему методу или свойству.
- направить(
StreamConsumer<RawSocketEvent> streamConsumer) → Future inherited -
Направить события этого потока в
streamConsumer. - прочитать(
[int len ]) → Список<int> inherited -
Прочитать до
lenбайтов из сокета. Эта функция неблокирующая и вернёт данные только при их наличии. Количество прочитанных байтов может быть меньшеlen, если доступных для немедленного чтения байтов меньше. Если данных нет, возвращаетсяnull. - reduce(
RawSocketEvent combine(T предыдущее, T элемент)) → Future<RawSocketEvent> inherited -
Сводит последовательность значений, повторяя применение
combine. - установитьПараметр(
SocketOption параметр, bool включено) → bool inherited -
Используйте установитьПараметр для настройки RawSocket. См. SocketOption для доступных параметров.
- завершить(
НаправлениеСокета направление) → void inherited -
Завершить сокет в
direction. Вызов завершить никогда не выбросит исключение, и вызов его несколько раз поддерживается. Вызов завершения с НаправлениеСокета.BOTH или НаправлениеСокета.RECEIVE может привести к событию RawSocketEvent.READ_CLOSED. - единственный_где(
bool test(T элемент)) → Future<RawSocketEvent> inherited -
Находит единственный элемент в этом потоке, соответствующий
test. - пропустить(
int количество) → Stream<RawSocketEvent> inherited -
Пропускает первые
countсобытий данных из этого потока.
- skipWhile(
bool test(T element)) → Stream<RawSocketEvent> inherited -
Пропускает события данных из этого потока, пока они соответствуют
test. - take(
int count) → Stream<RawSocketEvent> inherited -
Предоставляет не более первых
countсобытий данных из этого потока. - takeWhile(
bool test(T element)) → Stream<RawSocketEvent> inherited -
Пересылает события данных, пока
testуспешно. - timeout(
Duration timeLimit, { void onTimeout(EventSink<T> sink) }) → Stream<RawSocketEvent> inherited -
Создает новый поток с теми же событиями, что и этот поток.
- toList(
) → Future<List<RawSocketEvent>> inherited -
Собраны данные этого потока в List.
- toSet(
) → Future<Set<RawSocketEvent>> inherited -
Собраны данные этого потока в Set.
- toString(
) → String inherited -
Возвращает строковое представление этого объекта.
- transform<S>(
StreamTransformer<RawSocketEvent, S> streamTransformer) → Stream<S> inherited -
Цепочечный этот поток в качестве входных данных указанного StreamTransformer.
- where(
bool test(T event)) → Stream<RawSocketEvent> inherited -
Создает новый поток из этого потока, отбрасывая некоторые события данных.
- write(
List<int> buffer, [ int offset, int count ]) → int inherited -
Записывает до
countбайт буфера сoffsetсмещения буфера в сокет. Возвращается количество успешно записанных байтов. Эта функция неблокирующая и запишет данные только в том случае, если в сокете есть место в буфере.
© 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/RawSecureSocket-class.html