最初に私の問題を説明します: node.js サーバーと、socket.io を介してイベントを受信する多くの JS クライアントがあります。Web アプリケーションは終了日 (タイムスタンプ) を node.js サーバーに送信し、node.js はこのタイムスタンプをすべてのクライアントにブロードキャストします。次に、クライアントは今から指定された日付までタイマーを起動します...
私の問題:私の顧客は完全に同期されたアプリケーションを望んでいるので、各クライアントは常に同じタイマーカウントでなければなりません...しかし、各クライアントの現在の日付は同じではないため、タイマーカウントが異なります。
私の最初の解決策: 私の Web アプリは、リクエストごとに現在のタイムスタンプを送信するため、node.js はこのタイムスタンプをブロードキャストします。次に、各クライアントは現在のタイムスタンプをサーバーのタイムスタンプと比較し、その差をタイマーに適用します...
結果 : 良くなりましたが、完全ではありません。一部のタイマーは同期していません (私の意見では要求の遅延のため)。数ミリ秒 (1 秒未満) の違いが見られます。
それで、タイマーを改良する提案はありますか?
みんなありがとう。