transports_websocket (1.1.0)

Published 2026-09-26 09:43:33 +00:00 by Platform

Installation

dart pub add transports_websocket:1.1.0 --hosted-url=

About this package

WebSocket transport implementing package:transports (dart:io HttpServer/WebSocket).

Dart.Package.Transports.Websocket

WebSocket transport implementing Dart.Package.Transports on dart:io (HttpServer for listening, WebSocket for connecting) — ported from CSharp.Package.Transports.Websocket.

Two transports:

  • WebSocketTransport — listener and connector on dart:io. VM and Flutter native only; the package does not export it on web.
  • WebSocketClientTransport — connector only, on package:web_socket_channel, so it runs everywhere including Flutter web. secure: true dials wss:// and path picks the URL path, for a server behind a TLS reverse proxy (wss://api.example.com/live).

Every send is one binary WebSocket frame containing exactly [ushort msgId][payload], with no extra length-prefixing — wire-compatible with the C# transport, since WebSocket already preserves message boundaries per frame.

Quick start

import 'package:transports/transports.dart';
import 'package:transports_websocket/transports_websocket.dart';

final server = WebSocketTransport();
server.onConnectionAccepted.listen((conn) => print('accepted ${conn.id}'));
await server.listen(TransportEndPoint('0.0.0.0', 9000));

final client = WebSocketTransport();
await client.connect(TransportEndPoint('localhost', 9000));

Dialing a server behind a proxy, from any platform:

final client = WebSocketClientTransport(secure: true, path: '/live');
await client.connect(TransportEndPoint('api.example.com', 443));

Versioning and publishing

Version.txt is the exact version that gets published — a push to main publishes it only when that version isn't on the feed yet. Pushes to any other branch only resolve and test.

Details
Pub
2026-09-26 09:43:33 +00:00
703
5.6 KiB
Assets (1)
1.1.0.tar.gz 5.6 KiB
Versions (2) View all
1.1.0 2026-09-26
1.0.0 2026-09-12