我正在尝试新的ActionCable功能。是否有一种使用套接字与ActionCable服务器通信的方法?或从使用React或ReactNative的应用程序?
也许我混淆了ActionCable的正确使用,它不打算被用作让我们说API的替代品,它意味着被用作同一个应用程序的支持前端技术。
如果可能的话,任何使用ActionCable作为独立WS服务器的好例子或指南都将不胜感激。
你可以像使用任何WebSocket库一样与ActionCable进行交互。
要做到这一点,你需要从Rails中的Channel中进行流:
class ExampleChannel < ApplicationCable::Channel
def subscribe
stream_from 'example'
end
end
然后,你可以通过你的独立客户端连接到Rails WebSocket,并使用ActionCable协议订阅消息:
function Socket(url) {
const ws = new WebSocket(url);
ws.onopen(() => {
ws.send('{"command":"subscribe","identifier":"{"channel":"ExampleChannel"}"');
});
}
参考:http://edgeguides.rubyonrails.org/action_cable_overview.html频道
https://github.com/NullVoxPopuli/action_cable_client/blob/master/README.md