gpt4 book ai didi

session - iOS7 中的多点连接 session

转载 作者:行者123 更新时间:2023-12-04 16:49:27 25 4
gpt4 key购买 nike

我查看了 Apple 的文档,但仍然不清楚一件事,即 session 。

  1. 当 - (void)advertiser:(MCNearbyServiceAdvertiser *)advertiser didReceiveInvitationFromPeer:(MCPeerID *)peerID withContext:(NSData *)context invitationHandler:(void (^)(BOOL, MCSession *))invitationHandler 被调用时,我们需要将 session 传递给 invitationHandler。这届 session 会发生什么?当 A 邀请 B 加入 A 创建的 session 时,B 是否也向 A 提供了一个新 session ? B的 session 里面是什么?它只是 A 一个人还是包括当前在 A session 中的所有对等方? B 是否应该跟踪用于接受 A 邀请的 session ?在本文中,http://nshipster.com/multipeer-connectivity/ ,本教程动态创建一个新 session 并使用它来接受邀请,一旦功能结束你不会失去 session ;从而将信息丢失给连接的同行?

  2. 假设B、C、D都是A邀请的,现在B要给C发东西,请问B需要先给A发信息还是B可以直接发给C C?

  3. 根据 Apple 的文档,单个 session 最多只能容纳 8 个对等方。是否可以制作一系列 session ,以便您可以邀请超过 8 人加入您的设备?如果是这样的话,客户端是否也需要用一个数组来响应,以便它可以在其列表中携带超过 8 个对等点?

  4. 假设 A 和 B 现在已连接,并且 A 现在邀请 C 加入。 B 如何知道 C 现在在 session 中?

感谢您阅读这么长的帖子。

最佳答案

关于 Multipeer Connectivity 的文档不多,所以这些答案是基于我自己的实验:

  1. 这个问题中包含很多问题,但简而言之,A 的 session 管理 A 已发送或接受的邀请。因此,如果 B 邀请并且 A 接受,则 A 在接受时传递的 session 将在 MCSessionDelegate session: peer: didChangeState: 回调中用于说明连接是否发生。此时 A session 的 connectedPeers 属性将包含 B(如果连接成功)。一旦 A 接受,B 用于发送邀请的 session 也将获得相同的回调,并且将在 connectedPeers 中包含 A。 A 和 B 都不会有任何关于管理他们之间的连接的对方 session 的信息。是的,如果您想向新连接的对等方发送任何数据,您需要保留对处理连接的 session 的引用。我还没有看到为每个邀请创建新 session 的任何真正优势。

  2. 根据以上所述,B 没有关于 A 与谁有联系的信息。因此,如果 A 连接到 B、C 和 D,则 B 知道的唯一对等点是它连接到的对等点 - A。Multipeer Connectivity 在这里提供的是 B 通过 A 发现 C 或 D 的能力。所以如果 A-B连接是通过 WiFi 建立的,A-C 是通过蓝牙建立的,但是 B 没有启用蓝牙,并且 C 与 B 在不同的 WiFi 网络上,B 和 C 仍然可以通过 A 发现彼此。邀请和接受的过程仍在进行中交给 B 和 C 处理。

  3. 我在这里回答了一个关于 session 管理的问题,可能会有帮助 Best option for streaming data between iPhones

  4. B 对 A 连接到 C 一无所知。B 所能做的就是为自己发现 C 并将 C 添加到它自己的 session 中。

关于session - iOS7 中的多点连接 session ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22752700/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com