spinify 0.0.1-pre.5 spinify: ^0.0.1-pre.5 copied to clipboard
Dart client to communicate with Centrifuge and Centrifugo from Flutter and VM over WebSockets
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!