1

Rails API(only)アプリでWebsocketを使用する必要があります。ページのサーバーサイドレンダリングはありません。このアプリはAngularとXamarinのJSON専用バックエンドです。私は、多くのチュートリアルでRailsの中でActionCableクライアントとしてcoffescriptを使用しているのを見ましたが、私の場合ではありません。Rails APIアプリケーションでActionCable用Websocketクライアント

質問は、Android、iOS、Angular、Reactクライアントのように、Railsのcoffescriptの外でActionCableをAPI専用として使用する方法ですか?

私はさまざまな有用なリソースを見つけましたが、まだ少し混乱しています。

1:ActionCable usage for Rails API - これは最高のようですが、ActionCableフレームワークで交換されたすべてのJSONコマンドを見つけるにはどうすればよいですか?

2:Similar Question to the mine

3:Rails API Websocket GEM - OK、ActionCableではありませんが、この男はJSにcoffescriptをコンパイルし、プロジェクトにそれを移植していました。モバイル開発には有効ではありません。

さまざまな解決策や優れた知識がある場合は、教えてください。私はそれを働かせるためにこれを "ハック"する必要があります。

編集:このレポも見つかりましたaction-cable-jsどのように統合するのですか?

+0

ActionCableのないWebSocketを使用することはオプションですか?もしそうなら、[ヨウ素]宝石(https://github.com/boazsegev/iodine)を考えてみてください。また、(ActionCableと比較して)パフォーマンスを大幅に向上させるはずです。 – Myst

+0

@ミスターあなたの返事のため。バックエンドはRails用のN個のコンテナで構成されており、Nginxによって負荷分散されているため、戦略は「とても簡単」ではありません。したがって、スタンドアロンサーバとして動作する1つの(またはおそらくM、負荷分散された)別々のActionCableサーバがあります。その場合、私は__iodine__またはActionCableはパフォーマンスの問題だと思っていますが、私はアプリケーション全体を再設計する必要があります。私は深く宝石をチェックします。ありがとうございました! –

答えて

1

私の答えが誰にとっても役立つことを願っています。私は最終的にAngularプロジェクトで私を助けたactioncable-jsというライブラリを発見しました。

ただし、十分ではありません。モバイルプロジェクトでは、アクションケーブルサーバーと対話するために「低レベル」のコマンドを使用する必要があります。

プロトコルはここにあります:protocol

しかし、あなたがもっと必要ならば、宝石の内部を深く見てください。

関連する問題