Класс WebSocket
Двунаправленный объект HTTP-общения для клиентских или серверных приложений.
Поток раскрывает полученные сообщения. Текстовое сообщение будет типа String, а бинарное сообщение — типа List<int>.
- Реализует
Константы
- CLOSED → int
-
3 - CLOSING → int
-
2 - CONNECTING → int
-
Возможные состояния соединения.
0 - OPEN → int
-
1
Статические методы
- connect(
Строка url, { Итерируемый<Строка> protocols, Карта<Строка, динамический> headers, CompressionOptions compression: CompressionOptions.DEFAULT }) → Future<WebSocket> -
Создает новое WebSocket-соединение. URL, предоставленный в
urlдолжен использовать схемуwsилиwss.
Конструкторы
- WebSocket()
- WebSocket.fromUpgradedSocket(Сокет socket, { Строка protocol, Логическое serverSide, CompressionOptions compression: CompressionOptions.DEFAULT }) factory
-
Создает WebSocket из уже обновленного сокета.
Свойства
- closeCode → int только для чтения
-
Код закрытия, установленный при закрытии соединения WebSocket. Если код закрытия недоступен, это свойство будет
null - closeReason → Строка только для чтения
-
Причина закрытия, установленная при закрытии соединения WebSocket. Если причина закрытия недоступна, это свойство будет
null - extensions → Строка только для чтения
-
Свойство extensions изначально является пустой строкой. После установления соединения WebSocket эта строка отражает используемые сервером расширения.
- pingInterval → Длительность чтение/запись
-
Устанавливает и получает интервал для отправки сигналов ping. Если сообщение ping не получает ответа pong от узла-партнера, считается, что
WebSocketотключен, и соединение закрывается с кодом закрытия WebSocketStatus.GOING_AWAY. При отправке сигнала ping сообщение pong должно быть получено в течение pingInterval. - protocol → Строка только для чтения
-
Свойство protocol изначально является пустой строкой. После установления соединения WebSocket значение представляет собой подпротокол, выбранный сервером. Если подпротокол не согласован, значение останется
null. - readyState → int только для чтения
-
Возвращает текущее состояние соединения.
- done → Future только для чтения, унаследованное
-
Возвращает будущее, которое завершается, когда
StreamSinkзавершается. - first → Future только для чтения, унаследованное
-
Возвращает первый элемент потока.
- hashCode → int только для чтения, унаследованное
-
Хеш-код этого объекта.
- isBroadcast → Логическое только для чтения, унаследованное
-
Является ли этот поток потоком широковещательной передачи.
- isEmpty → Future<Логическое> только для чтения, унаследованное
-
Сообщает, содержит ли этот поток какие-либо элементы.
- last → Future только для чтения, унаследованное
-
Возвращает последний элемент потока.
- length → Future<int> только для чтения, унаследованное
-
Подсчитывает элементы в потоке.
- runtimeType → Тип только для чтения, унаследованное
-
Представление runtime-типа объекта.
- single → Future только для чтения, унаследованное
-
Возвращает единственный элемент.
Операторы
- operator ==(
other) → Логическое унаследованное -
Оператор равенства.
Методы
- add(
data) → void -
Отправляет данные по соединению WebSocket. Данные в
dataдолжны быть либоString, либоList<int>, содержащим байты. - addStream(
Stream stream) → Future -
Отправляет данные из потока по соединению WebSocket. Каждое событие данных из
streamбудет отправлено как отдельная WebSocket-рамка. Данные изstreamдолжны быть либоString, либоList<int>, содержащими байты. - addUtf8Text(
List<int> bytes) → void -
Отправляет текстовое сообщение с текстом, представленным
bytes. - close(
[int code, String reason ]) → Future -
Закрывает соединение WebSocket. Установите необязательные
codeиreasonаргументы для отправки информации о закрытии удалённому узлу. Если они опушены, удалённый узел увидит код WebSocketStatus.NO_STATUS_RECEIVED без причины. - addError(
Object error, [ StackTrace stackTrace ]) → void inherited -
Добавляет
errorв поток. - any(
bool test(T element)) → Future<bool> inherited -
Проверяет, принимает ли
testлюбое элемент, предоставляемое этим потоком. - asBroadcastStream(
{void onListen(StreamSubscription<T> subscription), void onCancel(StreamSubscription<T> subscription) }) → Stream inherited -
Возвращает поток с множественными подписками, который генерирует те же события, что и этот.
- asyncExpand<E>(
Stream<E> convert(T event)) → Stream<E> inherited -
Создаёт новый поток с событиями потока по исходному событию.
- asyncMap<E>(
dynamic convert(T event)) → Stream<E> inherited -
Создаёт новый поток, асинхронно отображающий каждое событие данных этого потока в новое событие.
- contains(
Object needle) → Future<bool> inherited -
Проверяет, встречается ли
needleв элементах, предоставляемых этим потоком. - distinct(
[bool equals(T previous, T next) ]) → Stream inherited -
Пропускает события данных, если они равны предыдущему событию данных.
- drain<E>(
[E futureValue ]) → Future<E> inherited -
Отбрасывает все данные в потоке, но сигнализирует, когда он завершён или произошла ошибка.
- elementAt(
int index) → Future 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), { Object defaultValue() }) → Future inherited -
Ищет первый элемент этого потока, соответствующий
test. - 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 inherited -
Создаёт оберточный поток, перехватывающий некоторые ошибки из этого потока.
- join(
[String separator = "" ]) → Future<String> inherited -
Собирает строку из строковых представлений событий данных.
- lastWhere(
bool test(T element), { Object defaultValue() }) → Future inherited -
Ищет последний элемент в этом потоке, соответствующий
test. - listen(
void onData(T event), { Function onError, void onDone(), bool cancelOnError }) → StreamSubscription inherited -
Добавляет подписку на этот поток.
- map<S>(
S convert(T event)) → Stream<S> inherited -
Создаёт новый поток, преобразующий каждый элемент этого потока в новое значение с помощью функции
convert. - noSuchMethod(
Invocation invocation) → dynamic inherited -
Вызывается при обращении к несуществующему методу или свойству.
- pipe(
StreamConsumer streamConsumer) → Future inherited -
Перенаправляет события этого потока в
streamConsumer. - reduce(
dynamic combine(T previous, T element)) → Future inherited -
Редуцирует последовательность значений путём многократного применения
combine. - singleWhere(
bool test(T element)) → Future inherited -
Ищет единственный элемент в этом потоке, соответствующий
test. - skip(
int count) → Stream inherited -
Пропускает первые
countсобытий данных из этого потока. - skipWhile(
bool test(T element)) → Stream inherited -
Пропускает события данных из этого потока, пока они соответствуют
test. - take(
int count) → Stream inherited -
Предоставляет не более первых
countсобытий данных из этого потока. - takeWhile(
bool test(T element)) → Stream inherited -
Передаёт события данных, пока
testуспешен. - timeout(
Duration timeLimit, { void onTimeout(EventSink<T> sink) }) → Stream inherited -
Создаёт новый поток с такими же событиями, что и этот поток.
- toList(
) → Future<List> inherited -
Собирает данные этого потока в список.
- toSet(
) → Future<Set> inherited -
Собирает данные этого потока в множество.
- toString(
) → String inherited -
Возвращает строковое представление этого объекта.
- transform<S>(
StreamTransformer<dynamic, S> streamTransformer) → Stream<S> inherited -
Цепочкой присоединяет этот поток как вход к предоставленному преобразователю потока.
- where(
bool test(T event)) → Stream inherited -
Создаёт новый поток из этого потока, отбрасывая некоторые события данных.
© 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/WebSocket-class.html