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
Annotations
  • DocsEditable()
  • DomName('WebSocket')
  • SupportedBrowser(SupportedBrowser.CHROME)
  • SupportedBrowser(SupportedBrowser.FIREFOX)
  • SupportedBrowser(SupportedBrowser.IE, '10')
  • SupportedBrowser(SupportedBrowser.SAFARI)
  • Unstable()

Constants

CLOSED int

3
closeEvent EventStreamProvider<CloseEvent>

Static factory designed to expose close events to event handlers that are not necessarily instances of WebSocket.

CLOSING int

2
CONNECTING int

0
errorEvent EventStreamProvider<Event>

Static factory designed to expose error events to event handlers that are not necessarily instances of WebSocket.

const EventStreamProvider<Event>('error')
messageEvent EventStreamProvider<MessageEvent>

Static factory designed to expose message events to event handlers that are not necessarily instances of WebSocket.

const EventStreamProvider<MessageEvent>('message')
OPEN int

1
openEvent EventStreamProvider<Event>

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

read-only
supported bool

Checks if this type is supported on the current platform.

read-only

Constructors

WebSocket(String url, [ Object protocols ])

factory
WebSocket.internal_()

Properties

binaryType String

read / write
bufferedAmount int

read-only
extensions String

read-only
hashCode int

read-only, inherited
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-only, inherited
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-only, inherited
url String

read-only

Operators

operator ==(other) bool

The equality operator.

inherited

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 non-existent method or property is accessed.

inherited
removeEventListener(String type, EventListener listener, [ bool useCapture ]) → void

inherited
send(data) → void

sendBlob(Blob data) → void

sendByteBuffer(ByteBuffer data) → void

sendString(String data) → void

sendTypedData(TypedData data) → void

toString() String

Returns the result of the JavaScript objects toString method.

inherited