设置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
}
}
您可能还需要在您的MCNearbyServiceBrowser
和MCNearbyServiceAdvertiser
委托方法添加检查,以确保你没有邀请/接受同龄人同时兼任MCPeerID
连接状态更改。