一些重要的东西

ActionCable.server

Rails 默认使用的实例是 ActionCable.server 除了 Base 提供的实例方法外,它还可调用 Broadcasting 和 Connections 提供的方法。

App.cable

Rails 默认使用 App.cable 表示其 Consumer 实例。

@App = {}
App.cable = ActionCable.createConsumer()

术语

server 服务端(死的)

connection 链接本身(活的)

consumer 客户端(死的)

channels 链接通道(死的)

broadcastings 对通道的某些操作(活的)

流程

1)A输入数据,jQuery 监测,发送类似 Ajax 请求;服务器收到,服务器处理后,发送 ws 请求 1)或由服务端 server.broadcast 直接发送 ws 请求

发送的 ws 请求,要有标识及数据。

2)客户端始终在等待 ws 请求 3)客户端收到 ws 请求,根据标识由对应的 Channel js 处理

此处有分支

4)客户端直接使用 JQuery 处理,不需要再请求服务器 4)客户端 @perform 发送 ws 请求,对应 Channel rb 里的 action 处理,再响应...server broadcast 或 Streams;

结束。

重要方法:客户端 perform, 服务端 broadcast 和 received.

服务端、客户端均可发送 ws 请求;简单的只有一次 ws 请求,复杂一点的有两次 ws 请求。

最后更新于