0

GKPeerPicker コントロールは使用していません。カスタムUIを実装しています。さまざまな言語/プラットフォームで、従来のクライアント サーバー アプリをいくつか作成しました。

Gamekit では、1 つはサーバー モードで、残りはクライアント モードです。ピア モードを使用していません。それでも、新しいクライアントが接続するたびに、すでに接続されているすべてのクライアントに、クライアントの接続と切断が暗黙的に通知されます。また、「sendToAll」を使用してクライアントからデータを送信すると、サーバーに接続されているすべてのクライアントに到達します。

つまり、サーバーのピア ID と残りのピア ID を明示的に維持する必要があります。プログラミングでは小さな作業ですが、そのデザインに興味があります。従来のクライアント サーバー ソケット プログラミングでは、このすべてがありません。たとえば、2 つのクライアントがスロットをキャプチャする場合、サーバーは最初の要求を処理し、スロットを埋めて、2 番目の要求を拒否します。

このデザインによる利点はあまりありません。私の間違いを指摘して、なぜこのように設計されているのか教えてください。

4

1 に答える 1

0

これは、ピアツーピア接続が機能する方法です。従来のシステムでは、サーバーに障害が発生すると通信が停止するため、このように設計されています。しかし、ここでは各ピアは均等に重み付けされており、いつでも参加/終了でき、残りのピア間の通信は引き続き行われます。

于 2011-01-13T16:58:20.883 に答える