【问题标题】: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
    

    【讨论】:

    • 您从哪里将参数传递给订阅的此方法(数据)?
    猜你喜欢
    • 1970-01-01
    • 2012-02-26
    • 1970-01-01
    • 1970-01-01
    • 2015-03-28
    • 1970-01-01
    • 2013-03-10
    • 2015-05-27
    • 2011-03-31
    相关资源
    最近更新 更多