Spec-Zone.ru › Dart 2

dart:io

Класс WebSocket

Объект двусторонней HTTP-связи для клиентских или серверных приложений.

Поток предоставляет полученные сообщения. Текстовое сообщение будет иметь тип String, а двоичное сообщение — тип List<int>.

Реализуемые типы
  • Stream
  • StreamSink

Конструкторы

WebSocket()
WebSocket.fromUpgradedSocket(Socket socket, {String? protocol, bool? serverSide, CompressionOptions compression = CompressionOptions.compressionDefault})
factory
Создаёт WebSocket из уже модернизированного сокета.

Свойства

closeCode → int?
только для чтения
Код закрытия, заданный при закрытии соединения WebSocket. Если код закрытия недоступен, значением этого свойства будет null
closeReason → String?
только для чтения
Причина закрытия, заданная при закрытии соединения WebSocket. Если причина закрытия недоступна, значением этого свойства будет null
done → Future
только для чтения, унаследовано
Возвращает future, который завершается, когда StreamSink завершает работу.
extensions → String
только для чтения
Изначально свойство extensions содержит пустую строку. После установления соединения WebSocket эта строка отражает расширения, используемые сервером.
first → Future
только для чтения, унаследовано
Первый элемент этого потока.
hashCode → int
только для чтения, унаследовано
Хеш-код этого объекта.
isBroadcast → bool
только для чтения, унаследовано
Является ли этот поток широковещательным.
isEmpty → Future<bool>
только для чтения, унаследовано
Содержит ли этот поток какие-либо элементы.
last → Future
только для чтения, унаследовано
Последний элемент этого потока.
length → Future<int>
только для чтения, унаследовано
Количество элементов в этом потоке.
pingInterval ↔ Duration?
чтение / запись
Интервал между сигналами ping.
protocol → String?
только для чтения
Изначально свойство protocol содержит пустую строку. После установления соединения WebSocket его значение соответствует подпротоколу, выбранному сервером. Если подпротокол не согласован, значение останется null.
readyState → int
только для чтения
Возвращает текущее состояние соединения.
runtimeType → Type
только для чтения, унаследовано
Представление типа объекта во время выполнения.
single → Future
только для чтения, унаследовано
Единственный элемент этого потока.

Методы

add(dynamic data) → void
переопределён
Отправляет данные по соединению WebSocket. Данные в data должны быть либо String, либо List<int>, содержащим байты.
addError(Object error, [StackTrace? stackTrace]) → void
унаследовано
Добавляет error в приёмник.
addStream(Stream stream) → Future
переопределён
Отправляет данные из потока по соединению WebSocket. Каждое событие данных из stream будет отправлено как отдельный кадр WebSocket. Данные из stream должны быть либо Strings, либо List<int>s, содержащими байты.
addUtf8Text(List<int> bytes) → void
Отправляет текстовое сообщение, содержащий текст, представленный bytes.
any(bool test(dynamic element)) → Future<bool>
унаследовано
Проверяет, удовлетворяет ли какой-либо элемент, предоставленный этим потоком, условию test.
asBroadcastStream({void onListen(StreamSubscription subscription)?, void onCancel(StreamSubscription subscription)?}) → Stream
унаследовано
Возвращает поток с несколькими подписками, который генерирует те же события, что и этот поток.
asyncExpand<E>(Stream<E>? convert(dynamic event)) → Stream<E>
унаследовано
Преобразует каждый элемент в последовательность асинхронных событий.
asyncMap<E>(FutureOr<E> convert(dynamic event)) → Stream<E>
унаследовано
Создаёт новый поток, в котором каждое событие данных этого потока асинхронно преобразуется в новое событие.
cast<R>() → Stream<R>
унаследовано
Адаптирует этот поток к типу Stream<R>.
close([int? code, String? reason]) → Future
переопределён
Закрывает соединение WebSocket. Задайте необязательные аргументы code и reason, чтобы отправить информацию о закрытии удалённому узлу. Если их не указать, удалённый узел получит код WebSocketStatus.noStatusReceived без указания причины.
contains(Object? needle) → Future<bool>
унаследовано
Возвращает, встречается ли needle среди элементов, предоставленных этим потоком.
distinct([bool equals(dynamic previous, dynamic next)?]) → Stream
унаследовано
Пропускает события данных, если они равны предыдущему событию данных.
drain<E>([E? futureValue]) → Future<E>
унаследовано
Отбрасывает все данные этого потока, но сообщает о его завершении или возникновении ошибки.
elementAt(int index) → Future
унаследовано
Возвращает значение index-го события данных этого потока.
every(bool test(dynamic element)) → Future<bool>
унаследовано
Проверяет, удовлетворяют ли все элементы, предоставленные этим потоком, условию test.
expand<S>(Iterable<S> convert(dynamic element)) → Stream<S>
унаследовано
Преобразует каждый элемент этого потока в последовательность элементов.
firstWhere(bool test(dynamic element), {dynamic orElse()?}) → Future
унаследовано
Находит первый элемент этого потока, соответствующий test.
fold<S>(S initialValue, S combine(S previous, dynamic element)) → Future<S>
унаследовано
Объединяет последовательность значений, многократно применяя combine.
forEach(void action(dynamic element)) → Future
унаследовано
Выполняет action для каждого элемента этого потока.
handleError(Function onError, {bool test(dynamic error)?}) → Stream
унаследовано
Создаёт поток-обёртку, перехватывающий некоторые ошибки этого потока.
join([String separator = ""]) → Future<String>
унаследовано
Объединяет строковые представления элементов в одну строку.
lastWhere(bool test(dynamic element), {dynamic orElse()?}) → Future
унаследовано
Находит последний элемент этого потока, соответствующий test.
listen(void onData(dynamic event)?, {Function? onError, void onDone()?, bool? cancelOnError}) → StreamSubscription
унаследовано
Добавляет подписку на этот поток.
map<S>(S convert(dynamic event)) → Stream<S>
унаследовано
Преобразует каждый элемент этого потока в новое событие потока.
noSuchMethod(Invocation invocation) → dynamic
унаследовано
Вызывается при обращении к несуществующему методу или свойству.
pipe(StreamConsumer streamConsumer) → Future
унаследовано
Передаёт события этого потока в streamConsumer.
reduce(dynamic combine(dynamic previous, dynamic element)) → Future
унаследовано
Объединяет последовательность значений, многократно применяя combine.
singleWhere(bool test(dynamic element), {dynamic orElse()?}) → Future
унаследовано
Находит единственный элемент этого потока, соответствующий test.
skip(int count) → Stream
унаследовано
Пропускает первые count событий данных этого потока.
skipWhile(bool test(dynamic element)) → Stream
унаследовано
Пропускает события данных этого потока, пока они соответствуют test.
take(int count) → Stream
унаследовано
Предоставляет не более первых count событий данных этого потока.
takeWhile(bool test(dynamic element)) → Stream
унаследовано
Передаёт события данных, пока test возвращает true.
timeout(Duration timeLimit, {void onTimeout(EventSink sink)?}) → Stream
унаследовано
Создаёт новый поток с теми же событиями, что и у этого потока.
toList() → Future<List>
унаследовано
Собирает все элементы этого потока в List.
toSet() → Future<Set>
унаследовано
Собирает данные этого потока в Set.
toString() → String
унаследовано
Строковое представление этого объекта.
transform<S>(StreamTransformer<dynamic, S> streamTransformer) → Stream<S>
унаследовано
Применяет streamTransformer к этому потоку.
where(bool test(dynamic event)) → Stream
унаследовано
Создаёт на основе этого потока новый поток, отбрасывающий некоторые элементы.

Операторы

operator ==(Object other) → bool
унаследовано
Оператор равенства.

Статические свойства

userAgent ↔ String?
чтение / запись
Возвращает строку агента пользователя, используемую для соединений WebSocket.

Статические методы

connect(String url, {Iterable<String>? protocols, Map<String, dynamic>? headers, CompressionOptions compression = CompressionOptions.compressionDefault, HttpClient? customClient}) → Future<WebSocket>
Создаёт новое соединение WebSocket. В URL, переданном в url, должна использоваться схема ws или wss.

Константы

closed → const int
3
closing → const int
2
connecting → const int
Возможные состояния соединения.
0
open → const int
1

© 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/WebSocket-class.html

Spec-Zone.ru

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