LAN 内のサーバーに接続するマルチクライアント アプリケーションに取り組んでいます。
すべてのクライアントは、サーバーのステータスを変更するコマンドを送信できます。この「ServerStatus」は、私が呼ぶように、いくつかの値を持つオブジェクトです。
ServerStatus が変更された場合、すべてのクライアントがすぐにそれを知る必要があります。私の考えは、次のように動作することでした:
サーバーは、毎秒 ServerStatus の versionNumber を使用して、リッスンしているすべてのクライアントにマルチキャストを送信します。そのため、新しいクライアントがマルチキャスト グループに参加すると、バージョン番号が同じかどうかを確認できます。そうでない場合、クライアントは UDP 経由で ServerStatus の現在のバージョンを問い合わせます。
クライアントが ServerStatus を変更するコマンドを送信すると、サーバーは現在の (および新しい) ServerStatus を同じマルチキャスト グループに送信しますが、別のスレッドでは ServerStatus のバージョン番号が毎秒共有されます。
これはこれに対処する良い方法だと思いますか?それとも、これはあまりにも多くの問題を引き起こしますか...など