多点连接 - 以编程方式断开对等点

Posted

技术标签:

【中文标题】多点连接 - 以编程方式断开对等点【英文标题】:Multipeer Connectivity - programmatically disconnect a peer 【发布时间】:2013-12-01 20:27:30 【问题描述】:

我正在将应用程序从 GameKit 转换为 Multipeer Connectivity,但似乎找不到允许浏览器设备从会话中断开另一个对等方的方法。使用 GKSession,我们可以使用 disconnectPeerFromAllPeers: 断开单个对等点与会话的连接,但我在 MPC 中找不到类似的东西。当然,MPC 确实有 disconnect: 方法,但这会将本地对等方带出会话......不是我想要的。

我找到的最接近的是:cancelConnectPeer: 但这似乎更侧重于取消连接尝试...而不是发布连接。

如果使用 MPC 甚至可以做到这一点,任何人都知道如何做到这一点?

谢谢!

【问题讨论】:

我能够通过向对等方发送一个 NSData 数据包告诉它断开连接来完成这项工作。 如何在 MPC 中以编程方式连接,谁能帮帮我? 【参考方案1】:

节点可以通过调用[MCSession disconnect]离开会话。

如果您希望浏览器断开另一个对等点,您可以让浏览器向该对等点发送消息,并在收到该消息后使对等点与会话断开连接。

【讨论】:

【参考方案2】:

我也在研究 MPC,但也发现 API 很烦人。因此,我将逻辑(例如断开特定对等点)从物理连接级别移动到应用程序逻辑级别。例如。会话/连接始终处于打开状态,并且只是通过不向特定对等方发送任何消息来进行软断开。

正如我们在 GKSession 中所经历的那样,蓝牙的性能并不稳定。使用 MPC,我们大部分时间都使用 Wifi,因此连接稳定性和成本并不重要。

【讨论】:

以上是关于多点连接 - 以编程方式断开对等点的主要内容,如果未能解决你的问题,请参考以下文章

强制多人连接关闭

多点连接手动管理对等点

多点连接突然停止寻找对等点

切换 VC 后多点连接会话断开

多点连接 手动连接/管理点

在 Windows 上的 Java 中以编程方式创建 wifi 对等连接? [关闭]