0

GKSession を使用してサーバーからクライアントにリクエストを送信する方法を知りたいですか? GKSession の参照クラスには次のように書かれています。

- (void)connectToPeer:(NSString *)peerID withTimeout:(NSTimeInterval)timeout Parameters peerID The string that

接続するピアを識別します。

timeout 接続試行をキャンセルするまでの待機時間。

討論

アプリケーションがクライアントとして動作している場合、このメソッドを呼び出して、発見した利用可能なピアに接続します。アプリケーションがこのメソッドを呼び出すと、接続要求を受け入れるか拒否するかを選択するリモート ピアに要求が送信されます。

サーバーの場合は何を使用すればよいですか?

4

2 に答える 2

0

サーバーとして、クライアントとの接続に自分自身を利用できるようにします

peer2peerSession.available = YES;
于 2013-06-27T09:54:40.850 に答える
0

GKSession インスタンスをサーバーとして作成する例を次に示します。

[[GKSession alloc] initWithSessionID:sessionID displayName:@"Chris" sessionMode : GKSessionModeServer];

GKSession をクライアントとして作成する方法の例を次に示します。

[[GKSession alloc] initWithSessionID:sessionID displayName:@"Angel" sessionMode : GKSessionModeClient];

GKSessionModePeer は、自分自身をサーバーとしてアドバタイズすると同時にアドバタイズ サーバーを探す (つまり、サーバーを検索するクライアントとして機能する) GKSession インスタンスを作成します。

次に、GKSession オブジェクトのデリゲートを設定する必要があります。その後、デリゲートは次のデリゲート メソッドを実装する必要があります。

- (void)session:(GKSession *)session peer:(NSString *)peerID didChangeState : (GKPeerConnectionState)state

上記のメソッド内で、デバイスが使用可能になった、使用不可になった、接続されたなどのメッセージをセッションから受け取ります。

リクエストを送信するには:

[_session connectToPeer:peerID withTimeout:_session.disconnectTimeout];

リクエストを受け入れるには:

[_session acceptConnectionFromPeer:peerID error:&error];

関連するコードは多数あり、すべてを理解するための最適なチュートリアルは次の場所にあります: GKSession を使用したシンプルなカード ゲーム

于 2013-07-02T07:09:48.343 に答える