多点连接随机断开

Posted

技术标签:

【中文标题】多点连接随机断开【英文标题】:Multipeer connectivity random disconnects 【发布时间】:2014-03-28 18:11:25 【问题描述】:

我目前遇到了一个错误,它会导致 iPad 随机断开会话,但仅在一侧。

测试开始时

A ----> B

B ----> A

a 请求后 b 发送一些信息

A ----> B

乙?一个

我目前正在用一台主导 iPad(浏览器)和 15 台其他 iPad(广告商)测试这个程序。

我知道有时调用 sendData: 来经常或处理太多数据会导致断开连接,我还知道 MCSession 上的默认最大值为 8。这就是我为什么在附近找到 6 个对等点后创建一个新会话的原因。

我发现了关于这个错误的一件事。在测试的第一次测试中,似乎没有断开连接,但是在停止测试后,开始第二次测试会发生断开连接,通常是 3-6 个 iPad。我正在正确地结束会话,停止浏览和广告。但是,如果我关闭/打开所有 iPad 的 wifi 和蓝牙,测试显示很少(可能 1 次)断开连接。

我似乎无法解决的奇怪问题。

【问题讨论】:

您说的是通过蓝牙传输数据吗?我猜如果有太多设备正在传输数据,网络会变得太拥挤,并且某些设备会断开连接(失去连接)? @Daniel 不,我使用的是 ios 7 Multipeer 连接 API,而不仅仅是蓝牙。 你看到了吗:***.com/questions/18935288/… @300baud 是的,我已经实施了这些解决方案,但没有成功 您是否尝试过使用流而不是 sendData? 【参考方案1】:

我一直致力于开发一个用于多点连接的开源库,并且已经看到了您所看到的许多内容。

到目前为止,我所拥有的只是猜测,但我会将我发现的内容填满你。

    您是双向发送邀请吗?如果是这样,我发现它会在 10 秒 - 2 分钟后随机断开连接。 您是否以一种方式拒绝邀请?我认为这也是错误的。相反,我认为您应该只通过一种方式发送邀请。 您在发送数据时是否在做广告或浏览?这是我目前正在研究的问题,但我认为它会导致问题。

我的调试建议: 从一台设备向另一台设备发送邀请并接受。不要双向。然后,关闭所有浏览和广告。然后看看你会去哪里。

让我知道进展如何。我现在正在尝试调试这些相同的问题,因此有关其他人所看到的任何信息都会非常有帮助。谢谢。

【讨论】:

嗯...我不相信广告或浏览是个问题。对我来说,我认为问题在于通过两种方式发送邀请。 Apple 关于该主题的 WWDC 会议建议仅以一种方式发送邀请。您可以阅读成绩单:asciiwwdc.com/2014/sessions/709?q=Multipeer 我似乎无法浏览到会议视频,但我保存的链接似乎仍然有效:developer.apple.com/videos/play/wwdc2014/709【参考方案2】:

经常调用 sendData: to 或尝试 sendData: to 许多对等方会导致断开连接。

【讨论】:

以上是关于多点连接随机断开的主要内容,如果未能解决你的问题,请参考以下文章

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

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

发送大文件/图像时,多人会话断开连接

通过 websockets 的 Socket.io - 随机“传输端”断开连接

多人框架 iOS 9.2 中的断开连接问题

多点连接终止会话