はじめに
実装の流れは長くなるので省略させていただきます。
自分が疑問に思ってノートに記録した物を記事にしていきます。
前提条件
Ruby 2.6.3
Rails 6.1.5
用語について
ActionCableとwebsocketを使用するにあたり、新しい用語がいくつか出てきました。
以下の通りです。
・コネクション
通信方式のこと。プロトコルとしてはTCPがコネクション型、UDPがコネクションレス型。
TCPは一般的なHTTP/HTTPSリクエスト&レスポンスの通信で使用されている。
websocketの通信方法でも使用されており、websocketコネクションをオープンすることで通信を確立する。
・コンシューマー
websocketコネクションのクライアントのこと。
・チャネル
MVCでいうコントローラーの役割を果たす。
ボタンなどで発火されるとチャネルのアクションが実行されるみたいなイメージ?
チャネルはコンシューマーをサブスクライブ(利用登録)できる。
コンシューマーは複数のチャネルにサブスクライブされることが可能。
・サブスクライバ
コンシューマーが、チャネルにサブスクライブされた後の振る舞いの事。
用語を理解すると処理の流れが理解しやすくなりました!