すべてのクライアントをサーバーと相互に同期させる最良の方法は何ですか?
現在、2つのアプローチが考えられています。
- クライアントがサーバーに何かを送信すると、サーバーはすぐにすべてのクライアントにメッセージを送信します。
- いくつかの時間遅延の導入により、サーバーはすべてのクライアントにメッセージを送信します
t
。
2番目のアプローチは、クライアントをよりよく同期させる可能性が高いようです(ある程度の遅延に対応しているため)。しかし、応答性が大幅に低下するかどうか(つまり、ユーザーが「ジャンプ」をクリックし、ボタンを押すことと実際にジャンプすることの間に顕著なギャップがある)かどうかと思います。
クライアントに自分の位置を計算させる可能性もあります(サーバーが「ジャンプした」と言うのを待たないでください)。しかし、避けられない遅延のために、クライアントは非常に非同期になります。
次に、TCPとUDPの全体の問題があります。私たちはそれを速くしたいのですが、あなたが思っていたのとは完全に異なる場所にいるとサーバーが言うのも嫌です。
これらのすべての競合する要求により、この問題への取り組み方は非常に不確実になります。これらのアプローチ(またはその他のアプローチ)のうち、クライアントとサーバーをすべて同期させるのに最適なのはどれですか。業界で実際に使用されているのはどれですか?