description

# 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.new(SupportedBrowser.CHROME)
  - @SupportedBrowser.new(SupportedBrowser.FIREFOX)
  - @SupportedBrowser.new(SupportedBrowser.IE, '10')
  - @SupportedBrowser.new(SupportedBrowser.SAFARI)
  - @Unstable.new()
  - @Native.new("WebSocket")

## Constructors

WebSocket(String url, [Object? protocols])
  factory

## Properties

binaryType ↔ String?
  getter/setter pair
bufferedAmount → int?
  no setter
extensions → String?
  no setter
hashCode → int
  The hash code for this object.
  no setter 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.
  no setter inherited
onClose → Stream<CloseEvent>
  Stream of `close` events handled by this WebSocket.
  no setter
onError → Stream<Event>
  Stream of `error` events handled by this WebSocket.
  no setter
onMessage → Stream<MessageEvent>
  Stream of `message` events handled by this WebSocket.
  no setter
onOpen → Stream<Event>
  Stream of `open` events handled by this WebSocket.
  no setter
protocol → String?
  no setter
readyState → int
  no setter
runtimeType → Type
  A representation of the runtime type of the object.
  no setter inherited
url → String?
  no setter

## 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

supported → bool
  Checks if this type is supported on the current platform.
  no setter

## Constants

CLOSED → const int
closeEvent → const EventStreamProvider<CloseEvent>
  Static factory designed to expose `close` events to event handlers that are not necessarily instances of WebSocket.
CLOSING → const int
CONNECTING → const int
errorEvent → const EventStreamProvider<Event>
  Static factory designed to expose `error` events to event handlers that are not necessarily instances of WebSocket.
messageEvent → const EventStreamProvider<MessageEvent>
  Static factory designed to expose `message` events to event handlers that are not necessarily instances of WebSocket.
OPEN → const int
openEvent → const EventStreamProvider<Event>
  Static factory designed to expose `open` events to event handlers that are not necessarily instances of WebSocket.