class
WebSocket

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.

Annotations
  • DocsEditable()
  • DomName('WebSocket')
  • SupportedBrowser(SupportedBrowser.CHROME)
  • SupportedBrowser(SupportedBrowser.FIREFOX)
  • SupportedBrowser(SupportedBrowser.IE, '10')
  • SupportedBrowser(SupportedBrowser.SAFARI)
  • Unstable()
Extends

Constants

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.
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.
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.
int CLOSED = 3
const
int CLOSING = 2
const
int CONNECTING = 0
const
int OPEN = 1
const

Static Properties

bool supported
read-only
Checks if this type is supported on the current platform.

Properties

String binaryType
read / write
int bufferedAmount
read-only
String extensions
read-only
String protocol
read-only
int readyState
read-only
String url
read-only
Stream<CloseEvent> onClose
read-only
Stream of close events handled by this [WebSocket].
Stream<Event> onError
read-only
Stream of error events handled by this [WebSocket].
Stream<MessageEvent> onMessage
read-only
Stream of message events handled by this [WebSocket].
Stream<Event> onOpen
read-only
Stream of open events handled by this [WebSocket].
Events on
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.

Constructors

WebSocket(String url, [protocol_OR_protocols])

Methods

close([int code, String reason]) → void
send(data) → void
sendBlob(Blob data) → void
sendByteBuffer(ByteBuffer data) → void
sendString(String data) → void
sendTypedData(TypedData data) → void
addEventListener(String type, dynamic listener(Event event), [bool useCapture]) → void
inherited
removeEventListener(String type, dynamic listener(Event event), [bool useCapture]) → void
inherited
dispatchEvent(Event event) → bool
inherited