API 响应速度不快,因为 APP 使用的是 Multipeer Connectivity 框架

问题描述 投票:0回答:1

我在我的应用程序中使用多点连接框架,它工作得很好,但是当应用程序调用任何 API 或从服务器下载任何文件时,它会延迟响应。有时会失败,有时会出现超时错误。

我还检查了 xCode 调试导航器上的“网络”状态,发现速度会立即上升和下降,并且永远不会超过 6kb/s,有时显示为 0 kb/s,但是当我禁用多点连接时,它工作正常并且速度也达到 70kb/s。

我还注意到,如果蓝牙打开,那么它不会发生在 WiFi 上。

如有任何建议,我们将不胜感激。

ios afnetworking multipeer-connectivity
1个回答
0
投票

发生这种情况是因为在做广告时,Multipeer 总是在 wifi 上做广告(没办法只说蓝牙)。它宣传的方式是通过“每秒多次将 wifi 访问模式切换为 adhoc”来查找其他对等点,然后切换回 AP 模式(即恢复与您的 wifi 路由器的连接)。这样做会对大额转账造成很大的破坏 您有两种选择来解决此问题:

1) 连接后,尽快致电

stopAdvertising()

。这将阻止 wifi 模式不断变化,并且您的吞吐量将恢复到正常速率。警告:您无法对此进行微观管理,因为调用

stopAdvertising()
后最多需要 30 秒才能生效

2) 从 Multipeer 切换到替代框架,该框架允许您指定仅蓝牙,并且仅使用蓝牙。我写了一个名为

BluePeer

的程序,我在我的应用程序中使用它。它是单播(不是多播)并支持客户端/服务器等角色(以及 Multipeer 等无角色)

© www.soinside.com 2019 - 2024. All rights reserved.