私は、アウトバーンとWAMPを使用するWebアプリに似たようなものを(ゆっくりと)実装してきました。これは、関連するプロトコルとルーターです。現在、約5つの異なるサービス(PHPで記述されたもの、NodeJSで記述されたもの)と、すべてリアルタイムで通信するクライアントがあります。
WAMPの優れている点は、通信用のリモートプロシージャコール(RPC)モデルとパブリッシュ/サブスクライブ(PubSub)モデルの両方をカプセル化することです。
私の認証スキームは少し厄介です。LaravelWebアプリの各ページには、ユーザーに固有で、Laravelアプリへのログイン時に生成されるトークン値があります。 Javascriptは、このトークン値を使用して、クライアントがWAMPルーターに接続するときに認証します。これが無効な(または古い)トークンである場合、接続は拒否されます。
通知を特定のユーザーまたはグループに制限することに関して、それを行う簡単な方法の1つは、ユーザーが適切な場合にのみ呼び出される(またはブレードテンプレートでクライアントにのみ出力される)関数で適切なJSコードをラップすることです。権限。
最後に、私のアプリケーションはファイアウォール内での使用のみを目的としているため、暗号化/復号化の使用については調査していません。