【问题标题】:How to open and close streaming from rather channels?如何打开和关闭来自相当频道的流媒体?
【发布时间】:2016-03-14 13:16:19
【问题描述】:
我安装了 rails 5 并开始使用 ActionCable 创建应用程序。有很多示例如何创建“对话”应用程序,但我没有找到,如何使用 2 个(或更多)频道,我的意思是,如果我需要主页上的 1 种类型的频道和第 2 种类型的频道另一个页面,如果用户来到主页 - 第一个频道开始流式传输,当他来到另一个页面 - 第一个正在关闭并打开第二个类型时,该怎么做?
感谢您的帮助!
【问题讨论】:
标签:
ruby-on-rails
websocket
ruby-on-rails-5
actioncable
【解决方案1】:
未测试,但也许这可能是一种方法
# app/channels/application_cable/connection.rb
module ApplicationCable
class Connection < ActionCable::Connection::Base
identified_by :uuid
def connect
self.uuid = SecureRandom.uuid
end
end
end
和
# app/channels/example_channel.rb
class ExampleChannel < ApplicationCable::Channel
def subscribed(data)
stream_from "channel_#{data['uuid']}"
end
def unsunscribed
stop_all_streams
end
end