Класс WebSocket
Используйте интерфейс WebSocket для подключения к WebSocket и для отправки и получения данных по этому WebSocket.
Чтобы использовать WebSocket в вашем веб-приложении, сначала создайте объект WebSocket, передав URL WebSocket в качестве аргумента конструктору.
var webSocket = new WebSocket('ws://127.0.0.1:1337/ws');
Чтобы отправить данные по WebSocket, используйте метод send.
if (webSocket != null && webSocket.readyState == WebSocket.OPEN) {
webSocket.send(data);
} else {
print('WebSocket not connected, message $data not sent');
}
Чтобы получить данные по WebSocket, зарегистрируйте обработчик событий для сообщений.
webSocket.onMessage.listen((MessageEvent e) {
receivedData(e.data);
});
Обработчик события message получает объект MessageEvent в качестве единственного аргумента. Вы также можете определить обработчики событий open, close и error, как указано в WebSocketEvents.
Дополнительную информацию можно найти в разделе WebSockets тура по библиотеке и в руководстве Introducing WebSockets на HTML5Rocks.com.
- Наследование
- Object
- JSObject
- DartHtmlDomObject
- EventTarget
- WebSocket
- Аннотации
- @DocsEditable()
- @DomName('WebSocket')
- @SupportedBrowser(SupportedBrowser.CHROME)
- @SupportedBrowser(SupportedBrowser.FIREFOX)
- @SupportedBrowser(SupportedBrowser.IE, '10')
- @SupportedBrowser(SupportedBrowser.SAFARI)
- @Unstable()
Константы
- CLOSED → int @DocsEditable(), @DomName('WebSocket.CLOSED')
-
3 - closeEvent → EventStreamProvider<CloseEvent> @DocsEditable(), @DomName('WebSocket.closeEvent')
-
Статический фабричный метод, предназначенный для экспонирования событий
closeобработчикам событий, которые не обязательно являются экземплярами WebSocket.const EventStreamProvider<CloseEvent>('close') - CLOSING → int @DocsEditable(), @DomName('WebSocket.CLOSING')
-
2 - CONNECTING → int @DocsEditable(), @DomName('WebSocket.CONNECTING')
-
0 - errorEvent → EventStreamProvider<Event> @DocsEditable(), @DomName('WebSocket.errorEvent')
-
Статический фабричный метод, предназначенный для экспонирования событий
errorобработчикам событий, которые не обязательно являются экземплярами WebSocket.const EventStreamProvider<Event>('error') - messageEvent → EventStreamProvider<MessageEvent> @DocsEditable(), @DomName('WebSocket.messageEvent')
-
Статический фабричный метод, предназначенный для экспонирования событий
messageобработчикам событий, которые не обязательно являются экземплярами WebSocket.const EventStreamProvider<MessageEvent>('message') - OPEN → int @DocsEditable(), @DomName('WebSocket.OPEN')
-
1 - openEvent → EventStreamProvider<Event> @DocsEditable(), @DomName('WebSocket.openEvent')
-
Статический фабричный метод, предназначенный для экспонирования событий
openобработчикам событий, которые не обязательно являются экземплярами WebSocket.const EventStreamProvider<Event>('open')
Статические свойства
- instanceRuntimeType → Type @Deprecated("Только для внутреннего использования"), только для чтения
- supported → bool только для чтения
-
Проверяет, поддерживается ли данный тип в текущей платформе.
Конструкторы
- WebSocket(String url, [ Object protocols ]) factory
- WebSocket.internal_()
Свойства
- binaryType → String @DocsEditable(), @DomName('WebSocket.binaryType'), чтение / запись
- bufferedAmount → int @DocsEditable(), @DomName('WebSocket.bufferedAmount'), только для чтения
- extensions → String @DocsEditable(), @DomName('WebSocket.extensions'), только для чтения
- onClose → Stream<CloseEvent> @DocsEditable(), @DomName('WebSocket.onclose'), только для чтения
-
Поток событий
close, обрабатываемых этимWebSocket. - onError → Stream<Event> @DocsEditable(), @DomName('WebSocket.onerror'), только для чтения
-
Поток событий
error, обрабатываемых этимWebSocket. - onMessage → Stream<MessageEvent> @DocsEditable(), @DomName('WebSocket.onmessage'), только для чтения
-
Поток событий
message, обрабатываемых этимWebSocket. - onOpen → Stream<Event> @DocsEditable(), @DomName('WebSocket.onopen'), только для чтения
-
Поток событий
open, обрабатываемых этимWebSocket. - protocol → String @DocsEditable(), @DomName('WebSocket.protocol'), только для чтения
- readyState → int @DocsEditable(), @DomName('WebSocket.readyState'), только для чтения
- url → String @DocsEditable(), @DomName('WebSocket.url'), только для чтения
- hashCode → int только для чтения, унаследовано
- on → Events только для чтения, унаследовано
-
Это удобный аксессор для потоков событий, который следует использовать только тогда, когда явный аксессор недоступен.
- runtimeType → Type только для чтения, унаследовано
-
Представление runtime-типа объекта.
Операторы
- operator ==(
other) → bool унаследовано -
Оператор равенства.
Методы
- close(
[int код, String причина ]) → void - send(
данные) → void - sendBlob(
Blob данные) → void @DocsEditable(), @DomName('WebSocket.sendBlob') - sendByteBuffer(
ByteBuffer данные) → void @DocsEditable(), @DomName('WebSocket.sendByteBuffer') - sendString(
String данные) → void @DocsEditable(), @DomName('WebSocket.sendString') - sendTypedData(
TypedData данные) → void @DocsEditable(), @DomName('WebSocket.sendTypedData') - addEventListener(
String тип, EventListener обработчик, [ bool захват ]) → void унаследованно - dispatchEvent(
Event событие) → bool @DocsEditable(), @DomName('EventTarget.dispatchEvent'), унаследованно - noSuchMethod(
Invocation вызов) → dynamic унаследованно -
Вызывается при обращении к несуществующему методу или свойству.
- removeEventListener(
String тип, EventListener обработчик, [ bool захват ]) → void унаследованно - toString(
) → String унаследованно -
Возвращает результат метода JavaScript
toStringобъекта.
© 2012 the Dart project authors
Licensed under the Creative Commons Attribution-ShareAlike License v4.0.
https://api.dartlang.org/stable/1.24.3/dart-html/WebSocket-class.html