2016-06-14 49 views
0

我在我的APP中使用Multipeer Connectivity Framework并且它的工作非常好,但是当APP调用任何API或从服务器下载任何文件时,它会延迟响应。有时它失败了,有时候我得到超时错误。API不能快速响应APP正在使用Multipeer连接框架

我也检查了xCode调试导航器上的“网络”状态,发现速度瞬间上升和下降,永远不会超过6kb/s,有时显示为0 kb/s,但是当我禁用Multipeer Connectivity时,工作正常,速度也在70kb/s。

我也注意到,如果蓝牙是开的,那么它发生的不是Wifi。

任何建议都会非常可观。

回答

0

这是因为广告时发生的,Multipeer总是在wifi上做广告(没办法只说蓝牙)。它的广告方式是通过将wifi访问模式切换为adhoc每秒多次来查找其他对等方,然后切换回AP模式(即恢复其与无线路由器的连接)。这样做对高度破坏性的

你有两个选择来解决这个问题:

1)只要你能,建立连接后,调用stopAdvertising()。这将阻止wifi模式不断变化,并且您的吞吐量将以正常速率恢复。警告:由于在调用stopAdvertising()直到生效之前需要30秒才能对其进行微调,直到它生效为止

2)从Multipeer切换到另一个框架,允许您指定蓝牙且仅使用蓝牙。我写了一个名为BluePeer的应用程序。它是单播的(不是多播),并支持像客户端/服务器这样的角色(以及像Multipeer这样的角色)