action_cable 1.1.0

Dart native
Flutter Android iOS

ActionCable client port in dart, available in web, dartVM and flutter.

Pub

All Contributors

ActionCable in Dart #

ActionCable is the default realtime websocket framework and protocol in Rails.

This is a dart port of the client and protocol implementation which is available in web, dartVM and flutter.

Usage #

Connecting to a channel 🙌 #

cable = ActionCable.Connect(
  "ws://10.0.2.2:3000/cable",
  headers: {
    "Authorization": "Some Token",
  },
  onConnected: (){
    print("connected");
  }, 
  onConnectionLost: () {
    print("connection lost");
  }, 
  onCannotConnect: () {
    print("cannot connect");
});

Subscribing to channel 🎉 #

cable.subscribe(
  "Chat", // either "Chat" and "ChatChannel" is fine
  channelParams: { "room": "private" },
  onSubscribed: (){}, // `confirm_subscription` received
  onDisconnected: (){} // `disconnect` received
  onMessage: (Map message) {} // any other message received
);

Unsubscribing from a channel 🎃 #

cable.unsubscribe(
  "Chat", // either "Chat" and "ChatChannel" is fine
  {"room": "private"}
);

Perform an action on your ActionCable server 🎇 #

Requires that you have a method defined in your Rails Action Cable channel whose name matches the action property passed in.

cable.performAction(
  "Chat",
  action: "send_message",
  channelParams: { "room": "private" },
  actionParams: { "message": "Hello private peeps! 😜" }
);

Disconnect from the ActionCable server #

cable.disconnect();

ActionCable protocol #

Anycable has a great doc on that topic.

Contributors ✨ #

Thanks goes to these wonderful people (emoji key):


Clinton

💻 ⚠️

This project follows the all-contributors specification. Contributions of any kind welcome!

4
likes
70
pub points
76%
popularity

ActionCable client port in dart, available in web, dartVM and flutter.

Repository (GitHub)
View/report issues

Documentation

Documentation
API reference

Uploader

namiheike@gmail.com

License

MIT (LICENSE)

Dependencies

web_socket_channel

More

Packages that depend on action_cable