WebSocket class

A two-way HTTP communication object for client or server applications.

A two-way HTTP communication object for client or server applications.

The stream exposes the messages received. A text message will be of type String and a binary message will be of type List<int>.

Implements

Constructors

WebSocket()
WebSocket.fromUpgradedSocket(Socket socket, {String protocol, bool serverSide})
Creates a WebSocket from an already-upgraded socket.

Constants

CONNECTING = 0
Possible states of the connection.
OPEN = 1
CLOSING = 2
CLOSED = 3

Static Methods

connect(String url, {Iterable<String> protocols, Map<String> headers}) → Future<WebSocket>
Create a new WebSocket connection. The URL supplied in url must use the scheme ws or wss.

Instance Properties

pingInterval Duration
read / write
Set and get the interval for sending ping signals. If a ping message is not answered by a pong message from the peer, the WebSocket is assumed disconnected and the connection is closed with a WebSocketStatus.GOING_AWAY close code. When a ping signal is sent, the pong message must be received within pingInterval.
readyState int
read-only
extensions String
read-only
protocol String
read-only
closeCode int
read-only
closeReason String
read-only
done Future Inherited
read-only
isEmpty Future<bool> Inherited
read-only
isBroadcast bool Inherited
read-only
first Future Inherited
read-only
last Future Inherited
read-only
single Future Inherited
read-only
length Future<int> Inherited
read-only

Instance Methods

close([int code, String reason]) → Future
Closes the WebSocket connection. Set the optional code and reason arguments to send close information to the remote peer. If they are omitted, the peer will see WebSocketStatus.NO_STATUS_RECEIVED code with no reason.
add(data) → void
Sends data on the WebSocket connection. The data in data must be either a String, or a List<int> holding bytes.
addStream(Stream stream) → Future
Sends data from a stream on WebSocket connection. Each data event from stream will be send as a single WebSocket frame. The data from stream must be either Strings, or List<int>s holding bytes.
pipe(StreamConsumer streamConsumer) → Future Inherited
Pipe the events of this stream into streamConsumer.
take(int count) → Stream Inherited
Provides at most the first n values of this stream.
map(dynamic convert(T event)) → Stream Inherited
Creates a new stream that converts each element of this stream to a new value using the convert function.
listen(void onData(T event), {Function onError, void onDone(), bool cancelOnError}) → StreamSubscription Inherited
Adds a subscription to this stream.
timeout(Duration timeLimit, {void onTimeout(EventSink sink)}) → Stream Inherited
Creates a new stream with the same events as this stream.
distinct([bool equals(T previous, T next)]) → Stream Inherited
Skips data events if they are equal to the previous data event.
takeWhile(bool test(T element)) → Stream Inherited
Forwards data events while test is successful.
fold(initialValue, dynamic combine(previous, T element)) → Future Inherited
Reduces a sequence of values by repeatedly applying combine.
toSet() → Future<Set> Inherited
Collects the data of this stream in a Set.
firstWhere(bool test(T element), {Object defaultValue()}) → Future Inherited
Finds the first element of this stream matching test.
forEach(void action(T element)) → Future Inherited
Executes action on each data event of the stream.
skipWhile(bool test(T element)) → Stream Inherited
Skip data events from this stream while they are matched by test.
join([String separator = ""]) → Future<String> Inherited
Collects string of data events' string representations.
contains(Object needle) → Future<bool> Inherited
Checks whether needle occurs in the elements provided by this stream.
asyncExpand(Stream convert(T event)) → Stream Inherited
Creates a new stream with the events of a stream per original event.
addError(errorEvent, [StackTrace stackTrace]) → void Inherited
Send an async error to a stream.
lastWhere(bool test(T element), {Object defaultValue()}) → Future Inherited
Finds the last element in this stream matching test.
singleWhere(bool test(T element)) → Future Inherited
Finds the single element in this stream matching test.
drain([futureValue]) → Future Inherited
Discards all data on the stream, but signals when it's done or an error occured.
asyncMap(dynamic convert(T event)) → Stream Inherited
Creates a new stream with each data event of this stream asynchronously mapped to a new event.
handleError(Function onError, {bool test(error)}) → Stream Inherited
Creates a wrapper Stream that intercepts some errors from this stream.
reduce(T combine(T previous, T element)) → Future Inherited
Reduces a sequence of values by repeatedly applying combine.
transform(StreamTransformer streamTransformer) → Stream Inherited
Chains this stream as the input of the provided StreamTransformer.
every(bool test(T element)) → Future<bool> Inherited
Checks whether test accepts all elements provided by this stream.
any(bool test(T element)) → Future<bool> Inherited
Checks whether test accepts any element provided by this stream.
toList() → Future<List> Inherited
Collects the data of this stream in a List.
where(bool test(T event)) → Stream Inherited
Creates a new stream from this stream that discards some data events.
asBroadcastStream({void onListen(StreamSubscription<T> subscription), void onCancel(StreamSubscription<T> subscription)}) → Stream Inherited
Returns a multi-subscription stream that produces the same events as this.
skip(int count) → Stream Inherited
Skips the first count data events from this stream.
expand(Iterable convert(T value)) → Stream Inherited
Creates a new stream from this stream that converts each element into zero or more events.
elementAt(int index) → Future Inherited
Returns the value of the indexth data event of this stream.