ios – 多层连接框架:稳定性和建议

我正在开发一个使用MC框架作为沟通渠道的项目,经过一些测试,我觉得这个渠道有点不稳定依赖.

我一直在跟踪苹果的文档和视频,以正确使用框架,但发生:

>对等体经常配对后,如果我配对多个对等体,更多的是.
>一些数据包有混合数据

有什么建议与框架一起工作吗?
即:

>具体项目设置? (即:能力部分中是否存在需要启用的内容?)
>多线程限制(即:总是从同一个线程调用mc方法)
>发送数据量方面的限制?

我发现this链接提到了一些框架在压力下表现不佳.这是我正在寻找的那种建议:).

作为记录:

>我正在使用基于this一个实现,因为Apple’s project没有为我工作.
>我正在为所有尝试配对的同伴使用一个MCSession
>加密首选项设置为MCEncryptionNone
>使用sendData:和sendResourceAtURL:与对等体通信.

解决方法

我在游戏中使用MC框架,并发现其明显的不稳定性有几个解决方法

1)我每15秒发送一次“保持活动”事务来维护链接上的活动.我发现这解决了我遇到的所有连接损失.

2)我将数据接收触发的所有处理调度到主线程,并且不会在线程之间携带任何MCPeer或MCSession对象(初始连接协议除外).我也做到了最小化在数据接收代码中花费的时间,以便MC使用的线程尽可能快地重新控制(我也发现这是一些断开连接的源).我不适用此规则发送数据(仅在接收时)

3)我没有找到一个干净的解决方案,重复的尝试建立连接(都使用标准的UI和我自己的连接)出现的同行.到目前为止,比较MCPeer ID以避免重复,似乎只是删除了一些重复.此外,似乎使用相同的MCSession广告(MCAdvertiserAssistant)并连接到对等端会引起一些冲突,所以我每次启动助理时都会使用一个新的单独的MCSession实例.

相关文章

当我们远离最新的 iOS 16 更新版本时,我们听到了困扰 Apple...
欧版/美版 特别说一下,美版选错了 可能会永久丧失4G,不过只...
一般在接外包的时候, 通常第三方需要安装你的app进行测...
前言为了让更多的人永远记住12月13日,各大厂都在这一天将应...