action_cable 1.0.0
action_cable: ^1.0.0 copied to clipboard
ActionCable client port in dart, available in web, dartVM and flutter.
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");
},
);
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.