【问题标题】:Android Nearby Connections - How to prevent overlap with connections and discoveryAndroid 附近连接 - 如何防止与连接和发现重叠
【发布时间】:2019-01-28 02:40:04
【问题描述】:
我正在使用 Nearby Connections API。从我读到的内容来看,不应在同时连接到设备的同时进行发现,因为这会减少带宽并导致可能的连接中断。
但是,我正在构建一个应用程序,其中每部手机都会尝试将收到的任何消息中继到尽可能多的其他手机。因此,最好始终进行发现以最大限度地增加端点的数量。
确保发现时间不与实际连接时间重叠的最佳方法是什么?我是否应该以固定的预设时间间隔进入发现模式?有没有办法存储发现的设备以供以后使用(以便在发现所有本地设备后连接到它们)?
【问题讨论】:
标签:
android
bluetooth
p2p
wifi-direct
google-nearby
【解决方案1】:
即使在调用 stopDiscovery 之后,您也可以连接到发现的设备,因此一种解决方案是扫描固定持续时间,然后连接到发现的设备。 (注意:如果您尝试在后台执行某些操作,请尝试通过在整点开始时发布广告来同步设备,因为发现会消耗大量电量。)
或者,您可以尝试通过为每个设备建立 2 到 3 个连接,并通过更新所有连接的对等方来使网络泛滥,然后这些对等方执行相同的操作,直到每个人都看到该消息,来保持设备之间的持续连接. (注意:连接会消耗电池电量,尽管没有发现那么多)