GameKit の GKSession を使用して、他のピアに接続する簡単なゲームを作成しました。セットアップは簡単でしたが、いくつかの問題を発見しました。
レイテンシは大きく異なります。メッセージが他のデバイスにすぐに届くことがあります。他のピアにデータを送信する場合、遅延が 1 秒を超えることがあります。データは 10 文字の文字列のみです。
私のゲームは、正確なクロック同期に依存しています。ゲームで音楽が再生されており、接続されているすべてのデバイスで同時に再生が開始されない場合、奇妙に聞こえます。
タイミングを同期する方法に関するドキュメントには何も見つかりませんでした。問題は、ゲームを開始する「マスター」ピアがすぐに音楽の再生を開始し、他のすべてのピアが少し遅れてメッセージを受信し、遅れて再生を開始することです。
次に、すべてのピアに開始メッセージを送信した後、ゲーム音楽の再生を遅らせようとしましたが、遅延が低くなったり高くなったりして、信頼できる同期が得られないことがあります。
ピア ツー ピアとクロックの同期をより信頼性が高く、iOS で使いやすくするオープン ソース フレームワークはありますか?