【问题标题】:Disconnecting a session without exiting the app在不退出应用程序的情况下断开会话
【发布时间】:2015-02-21 11:49:54
【问题描述】:

我正在使用多点连接功能。

考虑 A、B、C 在 A 创建的会话中连接。假设 B 想要退出会话而不断开会话 ([session Disconnect] ) 或退出应用程序。这可能吗?关闭 B 的广告商是否会将其与会话断开连接?或者还有其他方法吗?请帮忙!

【问题讨论】:

  • 您是在问如何在不影响 A 和 C 之间的会话的情况下从与 A 的会话中释放 B?
  • 没错.. 有希望吗???
  • 答案有帮助吗?如果是这样,感谢确认
  • 除了多会话之外的任何其他选项????
  • 我不知道 - 如果您更好地解释您的用例,也许会有更好的解决方案。从根本上说,您要么断开与其中 1 个对等方或最多 8 个对等方的会话。为什么不直接向您的其他对等方发送消息以“下线”。对等方仍在会话中,但在被告知“恢复”之前不会通信

标签: ios exit multipeer-connectivity disconnect mcsession


【解决方案1】:

MCMultipeerConnectivity 框架的 Apple 示例应用程序包含您描述的用例。

他们创建了一个包装类来处理 MCSession,每个 MCSession 都维护一个连接的 MCPeerID 数组。

来源:https://developer.apple.com/library/ios/samplecode/MultipeerGroupChat/Introduction/Intro.html

【讨论】:

    【解决方案2】:

    在您的情况下,没有什么能阻止您与单个对等方创建多个会话(我有一个有效的解决方案,到目前为止运行良好,最多可以有 16 个对等方)。顺便说一句,this answer 也可能有帮助

    选项 1: A->B (会话 1) A->C(会话 1)

    选项 2: A->B (会话 1) A->C(会话 2)

    在选项 2 中,您可以简单地为 A->C [会话断开连接] 而不会影响 A->B

    - (void)advertiser:(MCNearbyServiceAdvertiser *)advertiser didReceiveInvitationFromPeer:(MCPeerID *)peerID withContext:(NSData *)context invitationHandler:(void(^)(BOOL accept, MCSession *session))invitationHandler
    ...
        terminalDev.session = [self newSession];
        terminalDev.peerID = peerID;
        invitationHandler(YES, terminalDev.session);
    
    - (void)browser:(MCNearbyServiceBrowser *)browser foundPeer:(MCPeerID *)peerID withDiscoveryInfo:(NSDictionary *)info
               // save the peerID for later communications
                hostDevice.peerID = peerID;
    
                // and ask the browser to invite the peer(host) to the session for this device
                hostDevice.session = [self newSession];
    
                DDLogDebug(@"Inviting Host %@ to session %@", remotePeerName, hostDevice.session);
                [browser invitePeer:peerID toSession:hostDevice.session withContext:nil timeout:30.0];
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-03-25
      • 2011-03-19
      • 2021-10-27
      • 2010-09-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多