设置MCSession中的最大对等点



我正在使用框架MultipeerConnectivity在设备之间发送文件。我了解到,默认情况下,这个框架最多可以连接8个设备,所以在我的情况下,我想将其减少到只有2个设备(在这种情况下是我和其他人)

在文件中,他说我们可以使用常数:

kMCSessionMaximumNumberOfPeers和kMCSessionMinimumNumberOfPeers

以下是我配置MCSession的代码:

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

现在,我如何在代码中使用常量up来定义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连接状态更改时不会同时邀请/接受对等方。

最新更新