3

フレームワークMultipeerConnectivityを使用して、デバイス間でファイルを送信しています。このフレームワークはデフォルトで最大 8 台のデバイスと接続できることがわかったので、私の場合はこれを 2 台のデバイス (この場合は自分と他の人) だけに減らしたいと考えています。

ドキュメントで、彼は定数を使用できると言っています:

kMCSessionMaximumNumberOfPeers および kMCSessionMinimumNumberOfPeers

以下は、MCSession を構成する私のコードです。

mySession = [[MCSession alloc] initWithPeer:self.myPeerID];

mySession.delegate = self;

では、コードで定数 up を使用して maximumPeers と minimumPeers を定義するにはどうすればよいでしょうか?

4

1 に答える 1

3

これらの定数は情報提供用です。接続されているピアの数を制限したい場合は、ピアが接続/切断するたびにインスタンスのプロパティcountMCSession確認する必要があります。connectedPeersその後、必要に応じてブラウジング/広告のオン/オフを切り替えることができます.

- (void)session:(MCSession *)session
       peer:(MCPeerID *)peerID
 didChangeState:(MCSessionState)state {

    NSInteger sessionCount = [session.connectedPeers count];

    if (sessionCount==2){

        //Stop browsing and/or advertising
    }
    else {

        //Based on your own rules/requirements, if the session count
        //has dropped below 2 you can start browsing and/or advertising
    }   
}

接続状態が変化したときに同時にピアを招待/受け入れないように、メソッドMCNearbyServiceBrowserとデリゲート メソッドにチェックを追加する必要がある場合もあります。MCNearbyServiceAdvertiserMCPeerID

于 2015-02-06T17:47:23.650 に答える