Spinify
Websocket client for Centrifugo server and Centrifuge library based on ws library.
Installation
Add the following dependency to your pubspec.yaml
file:
dependencies:
spinify: <version>
Features and Roadmap
Connection related features
- ✅ Connect to a server
- ✅ Setting client options
- ✅ Automatic reconnect with backoff algorithm
- ✅ Client state changes
- ✅ Command-reply
- ✅ Command timeouts
- ✅ Async pushes
- ✅ Ping-pong
- ✅ Connection token refresh
- ✅ Server-side subscriptions
- ✅ Presence information
- ✅ Presence stats
- ✅ History information
- ✅ Send custom RPC commands
- ❌ Handle disconnect advice from the server
- ❌ Batching API
- ❌ Bidirectional WebSocket emulation
Client-side features
- ✅ Subscribe to a channel
- ✅ Protobuf transport
- ✅ Setting subscription options
- ✅ Automatic resubscribe with backoff algorithm
- ✅ Subscription state changes
- ✅ Subscription command-reply
- ✅ Subscription async pushes
- ✅ Subscription token refresh
- ✅ Handle unsubscribe advice from the server
- ✅ Manage subscription registry
- ✅ Publish data into a channel
- ✅ Enqueue methods
- ✅ Set observer for hooking events & errors
- ✅ Metrics
- ❌ Optimistic subscriptions
- ❌ Run in separate isolate
- ❌ JSON transport
Example
More resources
- Library documentation
- RFC 6455: The WebSocket Protocol
- WebSocket API on MDN
- Dart HTML WebSocket library
- Dart IO WebSocket library
- Centrifugo site
- Client SDK API
- Client real-time SDKs
- Client protocol
- Protocol Buffers
Coverage
Changelog
Refer to the Changelog to get all release notes.
Maintainers
Funding
If you want to support the development of our library, there are several ways you can do it:
We appreciate any form of support, whether it's a financial donation or just a star on GitHub. It helps us to continue developing and improving our library. Thank you for your support!