ActionCable Channels 实例是否在客户端之间共享?

Are ActionCable Channels instances shared across clients?

我通过 public IP 地址识别连接。直到最近我的理解(怀疑)是在这种情况下,客户订阅一个频道将重用相同的频道实例。

真实世界的例子如下:

我正在构建一个应用程序,它从不属于我的某个来源请求信息。这是通过 HTTP 请求和作业完成的。外部资源以周期性时间间隔变化。

我的 DataChannel class,继承自 ApplicationCable::Channel 管理最后一个请求的缓存,因此从同一 IP 地址订阅的新客户端不会启动新请求,而是重用最后一个请求一.

总结:

如果我打开两个选项卡并且每个选项卡都订阅了一个频道,即使连接标识符相同,我是否会得到两个频道实例?

我不是在寻找这样做的方法,只要给我指出正确的方向就足够了,而且实际上更有价值。

不,他们不是。

我需要在客户端拥有的所有实例之间添加一些同步,这些实例具有用 IP 地址标识的连接。

为此,我使用了 Redis DLM,因此我可以获取和释放锁,从而执行旨在唯一的计算。

可能有更好的方法,但我无法想象不需要修补 ActionCable 源的方法。一如既往地感谢任何进一步的评论。