
質問
WebSocketってサーバ側でどうやってデータ管理をするのでしょうか。
背景
現在、C#(.NET)とReactを使用した双方向通信を必要とするWEBアプリを開発しています。
C#、ReactともにWebSocketの使い方を理解する段階まで進みましたが、実践的な使い方がわかりません。
イメージとしては、サーバから何らかのイベントの発生に応じてクライアントへデータを送信しようと考えています。
※ 学習した内容だとこの認識で問題ないようです。
現在はクライアントから受け取ったデータを受け取って、それを加工して返すだけの、WebSocketを使用する利点がほとんどない状態までの実装です、、、
本題となる問題点についてですが、コネクションデータを何らかのデータ構造に基づいて保存して、とあるイベント発生時に対象となるWebSocket一覧を洗い出してそこにデータを送信するといった、無駄の多そうな実装しか思い浮かびません。
上記の方法だとしたら、
C#
1{ 2 イベント種類: [WebSocket1, WebSocket2, WebSocket3, ...], 3 イベント種類: [WebSocket1, WebSocket2, WebSocket3, ...], 4 イベント種類: [WebSocket1, WebSocket2, WebSocket3, ...] 5}
のように対象となるイベントとそれに対応して、データを送信するWebSocketをリスト形式で保存するやり方を想定しています。
上記の方法だと、インスタンスの破棄(Dispose)が呼ばれないような気がして、メモリエラーになりそうな気がします。
どうすればいいのでしょうか。
アドバイスお願いします。
ちなみに、C#での実装はMS公式ドキュメント通りの実装を行っています。

