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 Events.
For more information, see the WebSockets section of the library tour and Introducing WebSockets, an HTML5Rocks.com tutorial.
- Inheritance
-
- Object
- EventTarget
- WebSocket
- Annotations
-
- @SupportedBrowser(SupportedBrowser.CHROME)
- @SupportedBrowser(SupportedBrowser.FIREFOX)
- @SupportedBrowser(SupportedBrowser.IE, '10')
- @SupportedBrowser(SupportedBrowser.SAFARI)
- @Unstable()
- @Native("WebSocket")
Constructors
Properties
- binaryType ↔ String?
-
read / write
- bufferedAmount → int?
-
read-only
- extensions → String?
-
read-only
- hashCode → int
-
The hash code for this object.
read-onlyinherited
- on → Events
-
This is an ease-of-use accessor for event streams which should only be
used when an explicit accessor is not available.
read-onlyinherited
-
onClose
→ Stream<
CloseEvent> -
Stream of
close
events handled by this WebSocket.read-only -
onError
→ Stream<
Event> -
Stream of
error
events handled by this WebSocket.read-only -
onMessage
→ Stream<
MessageEvent> -
Stream of
message
events handled by this WebSocket.read-only -
onOpen
→ Stream<
Event> -
Stream of
open
events handled by this WebSocket.read-only - protocol → String?
-
read-only
- readyState → int
-
read-only
- runtimeType → Type
-
A representation of the runtime type of the object.
read-onlyinherited
- url → String?
-
read-only
Methods
-
addEventListener(
String type, EventListener? listener, [bool? useCapture]) → void -
inherited
-
close(
[int? code, String? reason]) → void -
dispatchEvent(
Event event) → bool -
inherited
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
removeEventListener(
String type, EventListener? listener, [bool? useCapture]) → void -
inherited
-
send(
dynamic data) → void - Transmit data to the server over this connection.
-
sendBlob(
Blob data) → void - Transmit data to the server over this connection.
-
sendByteBuffer(
ByteBuffer data) → void - Transmit data to the server over this connection.
-
sendString(
String data) → void - Transmit data to the server over this connection.
-
sendTypedData(
TypedData data) → void - Transmit data to the server over this connection.
-
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited
Static Properties
Constants
- CLOSED → const int
-
3
-
closeEvent
→ const EventStreamProvider<
CloseEvent> -
Static factory designed to expose
close
events to event handlers that are not necessarily instances of WebSocket.const EventStreamProvider<CloseEvent>('close')
- CLOSING → const int
-
2
- CONNECTING → const int
-
0
-
errorEvent
→ const EventStreamProvider<
Event> -
Static factory designed to expose
error
events to event handlers that are not necessarily instances of WebSocket.const EventStreamProvider<Event>('error')
-
messageEvent
→ const EventStreamProvider<
MessageEvent> -
Static factory designed to expose
message
events to event handlers that are not necessarily instances of WebSocket.const EventStreamProvider<MessageEvent>('message')
- OPEN → const int
-
1
-
openEvent
→ const EventStreamProvider<
Event> -
Static factory designed to expose
open
events to event handlers that are not necessarily instances of WebSocket.const EventStreamProvider<Event>('open')