如何从相当频道打开和关闭流媒体?

时间:2016-03-14 13:16:20

标签: ruby-on-rails websocket ruby-on-rails-5 actioncable

我安装了rails 5并开始使用ActionCable创建应用程序。有很多例子如何创建“Dialog”应用程序,但我没有找到,如何使用2个(或更多)通道,我的意思是,如果我需要主页面上的1种类型的通道和第2类型的另一个页面,如果用户进入主页面怎么做 - 第一个频道开始流式传输,当他来到另一个页面时 - 第一个是关闭并打开第二个类型?

感谢您的帮助!

1 个答案:

答案 0 :(得分: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