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

int CLOSED = 3
const

EventStreamProvider<CloseEvent> closeEvent = const EventStreamProvider<CloseEvent>('close')
const

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

int CLOSING = 2
const

int CONNECTING = 0
const

EventStreamProvider<Event> errorEvent = const EventStreamProvider<Event>('error')
const

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

EventStreamProvider<MessageEvent> messageEvent = const EventStreamProvider<MessageEvent>('message')
const

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

int OPEN = 1
const

EventStreamProvider<Event> openEvent = const EventStreamProvider<Event>('open')
const

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

Static Properties

supported bool
read-only

Checks if this type is supported on the current platform.

Properties

binaryType String
read / write

bufferedAmount int
read-only

extensions String
read-only

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.

onClose Stream<CloseEvent>
read-only

Stream of close events handled by this WebSocket.

onError Stream<Event>
read-only

Stream of error events handled by this WebSocket.

onMessage Stream<MessageEvent>
read-only

Stream of message events handled by this WebSocket.

onOpen Stream<Event>
read-only

Stream of open events handled by this WebSocket.

protocol String
read-only

readyState int
read-only

url String
read-only

Constructors

WebSocket(String url, [protocol_OR_protocols])

Methods

addEventListener(String type, dynamic listener(Event event), [bool useCapture]) → void
inherited

close([int code, String reason]) → void

dispatchEvent(Event event) → bool
inherited

removeEventListener(String type, dynamic listener(Event event), [bool useCapture]) → void
inherited

send(data) → void

sendBlob(Blob data) → void

sendByteBuffer(ByteBuffer data) → void

sendString(String data) → void

sendTypedData(TypedData data) → void