WebSocket class
Use the WebSocket interface to connect to a WebSocket, and to send and receive data on that WebSocket.
To use a WebSocket in your web app, first create a WebSocket object, passing the WebSocket URL as an argument to the constructor.
var webSocket = new WebSocket('ws://127.0.0.1:1337/ws');
To send data on the WebSocket, use the send method.
if (webSocket != null && webSocket.readyState == WebSocket.OPEN) { webSocket.send(data); } else { print('WebSocket not connected, message $data not sent'); }
To receive data on the WebSocket, register a listener for message events.
webSocket.onMessage.listen((MessageEvent e) { receivedData(e.data); });
The message event handler receives a MessageEvent object as its sole argument. You can also define open, close, and error handlers, as specified by WebSocketEvents
.
For more information, see the WebSockets section of the library tour and Introducing WebSockets, an HTML5Rocks.com tutorial.
- Inheritance
- Object
- JSObject
- DartHtmlDomObject
- EventTarget
- WebSocket
- Annotations
- @DocsEditable()
- @DomName('WebSocket')
- @SupportedBrowser(SupportedBrowser.CHROME)
- @SupportedBrowser(SupportedBrowser.FIREFOX)
- @SupportedBrowser(SupportedBrowser.IE, '10')
- @SupportedBrowser(SupportedBrowser.SAFARI)
- @Unstable()
Constants
- CLOSED → int @DocsEditable(), @DomName('WebSocket.CLOSED')
-
3
- closeEvent → EventStreamProvider<CloseEvent> @DocsEditable(), @DomName('WebSocket.closeEvent')
-
Static factory designed to expose
close
events to event handlers that are not necessarily instances of 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')
-
Static factory designed to expose
error
events to event handlers that are not necessarily instances of WebSocket.const EventStreamProvider<Event>
('error') - messageEvent → EventStreamProvider<MessageEvent> @DocsEditable(), @DomName('WebSocket.messageEvent')
-
Static factory designed to expose
message
events to event handlers that are not necessarily instances of WebSocket.const EventStreamProvider<MessageEvent>
('message') - OPEN → int @DocsEditable(), @DomName('WebSocket.OPEN')
-
1
- openEvent → EventStreamProvider<Event> @DocsEditable(), @DomName('WebSocket.openEvent')
-
Static factory designed to expose
open
events to event handlers that are not necessarily instances of WebSocket.const EventStreamProvider<Event>
('open')
Static Properties
- instanceRuntimeType → Type @Deprecated("Internal Use Only"), read-only
- supported → bool read-only
-
Checks if this type is supported on the current platform.
Constructors
- WebSocket(String url, [ Object protocols ]) factory
- WebSocket.internal_()
Properties
- binaryType → String @DocsEditable(), @DomName('WebSocket.binaryType'), read / write
- bufferedAmount → int @DocsEditable(), @DomName('WebSocket.bufferedAmount'), read-only
- extensions → String @DocsEditable(), @DomName('WebSocket.extensions'), read-only
- onClose → Stream<CloseEvent> @DocsEditable(), @DomName('WebSocket.onclose'), read-only
-
Stream of
close
events handled by thisWebSocket
. - onError → Stream<Event> @DocsEditable(), @DomName('WebSocket.onerror'), read-only
-
Stream of
error
events handled by thisWebSocket
. - onMessage → Stream<MessageEvent> @DocsEditable(), @DomName('WebSocket.onmessage'), read-only
-
Stream of
message
events handled by thisWebSocket
. - onOpen → Stream<Event> @DocsEditable(), @DomName('WebSocket.onopen'), read-only
-
Stream of
open
events handled by thisWebSocket
. - protocol → String @DocsEditable(), @DomName('WebSocket.protocol'), read-only
- readyState → int @DocsEditable(), @DomName('WebSocket.readyState'), read-only
- url → String @DocsEditable(), @DomName('WebSocket.url'), read-only
- hashCode → int read-only, inherited
- on → Events read-only, inherited
-
This is an ease-of-use accessor for event streams which should only be used when an explicit accessor is not available.
- runtimeType → Type read-only, inherited
-
A representation of the runtime type of the object.
Operators
- operator ==(
other) → bool inherited -
The equality operator.
Methods
- close(
[int code, String reason ]) → void - send(
data) → void - sendBlob(
Blob data) → void @DocsEditable(), @DomName('WebSocket.sendBlob') - sendByteBuffer(
ByteBuffer data) → void @DocsEditable(), @DomName('WebSocket.sendByteBuffer') - sendString(
String data) → void @DocsEditable(), @DomName('WebSocket.sendString') - sendTypedData(
TypedData data) → void @DocsEditable(), @DomName('WebSocket.sendTypedData') - addEventListener(
String type, EventListener listener, [ bool useCapture ]) → void inherited - dispatchEvent(
Event event) → bool @DocsEditable(), @DomName('EventTarget.dispatchEvent'), inherited - noSuchMethod(
Invocation invocation) → dynamic inherited -
Invoked when a non-existent method or property is accessed.
- removeEventListener(
String type, EventListener listener, [ bool useCapture ]) → void inherited - toString(
) → String inherited -
Returns the result of the JavaScript objects
toString
method.
© 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