WebSocket class abstract interface

The interface for WebSocket connections.

import 'package:web_socket/src/web_socket.dart';

void main() async {
  final socket =
      await WebSocket.connect(Uri.parse('wss://ws.postman-echo.com/raw'));

  socket.events.listen((e) async {
    switch (e) {
      case TextDataReceived(text: final text):
        print('Received Text: $text');
        await socket.close();
      case BinaryDataReceived(data: final data):
        print('Received Binary: $data');
      case CloseReceived(code: final code, reason: final reason):
        print('Connection to server closed: $code [$reason]');

  socket.sendText('Hello Dart WebSockets! 🎉');


events Stream<WebSocketEvent>
A Stream of WebSocketEvent received from the peer.
no setter
hashCode int
The hash code for this object.
no setterinherited
protocol String
The WebSocket subprotocol negotiated with the peer.
no setter
runtimeType Type
A representation of the runtime type of the object.
no setterinherited


close([int? code, String? reason]) Future<void>
Closes the WebSocket connection and the events Stream.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
sendBytes(Uint8List b) → void
Sends binary data to the connected peer.
sendText(String s) → void
Sends text data to the connected peer.
toString() String
A string representation of this object.


operator ==(Object other) bool
The equality operator.

Static Methods

connect(Uri url, {Iterable<String>? protocols}) Future<WebSocket>
Create a new WebSocket connection.