设置MCSession中的最大对等点

问题描述:

我在使用框架的设备之间发送文件MultipeerConnectivity。我知道默认情况下,这个框架可以连接多达8个设备,所以在我的情况下,我想减少到只有2个设备(在这种情况下是我的和其他人)设置MCSession中的最大对等点

在他说的文档我们可以使用常量:

kMCSessionMaximumNumberOfPeers和kMCSessionMinimumNumberOfPeers

下面是我的代码,配置MCSession:

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

mySession.delegate = self; 

现在,我如何使用我的代码中的常量来定义maximumPeers和minimumPeers?

那些常量是信息性的。如果要限制连接的对等方的数量,则每当对等方连接/断开连接时,都需要检查MCSession实例的connectedPeers属性的count。然后,您可以根据需要打开/关闭浏览/广告。

- (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 
    } 
} 

您可能还需要在您的MCNearbyServiceBrowserMCNearbyServiceAdvertiser委托方法添加检查,以确保你没有邀请/接受同龄人同时兼任MCPeerID连接状态更改。