Orb*_*bit 6 ruby ruby-on-rails websocket actioncable
我想连接到通过 websockets ( ws://) 公开数据的外部服务器。在这种安排中,我的服务器将充当外部服务器的客户端。
ActionCable文档仅提供了 Rails 应用程序向 Javascript 客户端(通常由 Rails 应用程序本身提供服务的前端)公开 Websocket 的示例。它似乎没有显示意图在 Ruby 中打开 websocket 客户端的情况。
问题:
ActionCable,那么如何在纯 Ruby 中完成此功能?ActionCable不支持所描述的功能,哪些第三方 gem(如果有)被视为标准?ActionCable 不提供构建服务器端客户端的功能。正如您在存储库中看到的,源代码中没有任何服务器客户端。但 ActionCable 使用 Faye WebSocket。因此,从服务器到 Action 电缆与 gem \'faye-websocket\'的连接可能如下所示:
\n\n EM.run {\n\xc2\xa0 \xc2\xa0ws = Faye::WebSocket::Client.new("ws://localhost:3000/cable")\n\xc2\xa0 \xc2\xa0ws.on :message do |e| puts e.data end\n\xc2\xa0 \xc2\xa0ws.on :close do |e| puts \'close\' end\n\xc2\xa0}\nRun Code Online (Sandbox Code Playgroud)\n\n因此,这显示了对 ping 和断开连接的反应。但与通道的连接会出现一些问题。您可以尝试使用 Faye 构建 WebSocket,然后从 Faye Client 连接到该 WebSocket。
\n\n但没有理由这样做。每个服务器已经侦听任何 HTTP 请求并在发生这种情况时触发某些方法。也没有理由一直听其他东西。此外,ruby 可以传输任何内容,并且可以通过 RestClient 轻松实现 - 也许这对您来说是一个更好的解决方案,而不是使用跨服务器 WebSocket
\n| 归档时间: |
|
| 查看次数: |
1505 次 |
| 最近记录: |