【问题标题】:Set the maximum peers in MCSession在 MCSession 中设置最大对等点
【发布时间】:2015-02-06 14:18:49
【问题描述】:

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

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

kMCSessionMaximumNumberOfPeers 和 kMCSessionMinimumNumberOfPeers

下面是我配置 MCSession 的代码:

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

mySession.delegate = self;

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

【问题讨论】:

    标签: ios objective-c multipeer-connectivity mcsession


    【解决方案1】:

    这些常量是信息性的。如果您想限制连接的对等点的数量,您需要在对等点连接/断开连接时检查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 连接状态更改时同时邀请/接受对等方。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-06-06
      • 2017-09-10
      • 1970-01-01
      • 2014-08-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多