Класс WebSocket
Объект двусторонней HTTP-связи для клиентских или серверных приложений.
Поток предоставляет полученные сообщения. Текстовое сообщение будет иметь тип String, а двоичное сообщение — тип List<int>.
- Реализуемые типы
Конструкторы
- 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