1

を使用してリアルタイムのメモ共有アプリを実装していGKSessionます。2 人のユーザーがいるとします。A と B は を使用して接続されてGKSessionいます。

ユーザー A が入力したものはすべて (文字ごとに) ユーザー B に送信され、その逆も同様です。

shouldChangeTextInRangefromUITextViewDelegateと pass キャレット位置、および入力された文字と他のパケット データを使用しています。文字は、受信者のテキストビューの同じ位置 (パケットで送信されたキャレット位置) に表示されます。両方のユーザーが同時に同じキャレット位置で文字を送信する場合を除いて、すべてが機能します。両方のユーザーのテキストビューが互いに同期していることを確認するにはどうすればよいですか?

例えば:

ユーザー A がキャレット位置 2 で文字 'a' を送信し、同じユーザー B がキャレット位置 2 で文字 'b' を送信した場合。'ab' と 'ba' のどちらの順序で指定する必要がありますか?

GKSendDataReliable他のユーザーが次の文字を送信するのを待たなければならないため、パケット受信確認が毎回送信されるのを避けたいと思っています。

スタック オーバーフローの新機能。パケット配信の処理とデータの同期に関する提案をいただければ幸いです。助けてくれてどうもありがとう!

4

0 に答える 0