其他分享
首页 > 其他分享> > android – 能够使用附近连接将消息/字节同时发送到多个设备

android – 能够使用附近连接将消息/字节同时发送到多个设备

作者:互联网

为了尝试附近的API,我决定构建一个应用程序,让老师跟踪学生在课堂上的出勤情况.
Caren Chang正在做的类似.

我已经完成了google sample codes on rockpaperscissors and walkietalkie

但是当我使用4部手机测试样品时,任何时候似乎只有一个设备连接.

我想建立一个老师和学生应用程序,教师广告​​并发现学生,随着更多设备在教室设置中连接,同时向每个连接的设备发送有效负载.

如何使用附近的api连接并同时向新设备和多个设备发送数据?

解决方法:

这是一个很好的用例,也是我们过去谈过的用例.

如果它专门用于出勤,那么您不需要形成连接.当一台设备不断扫描时,您可以让每台设备都做广告.您将以这种方式快速建立设备列表.

但是,如果您想做的不仅仅是出勤,例如将作业推送到每个人的设备,您将需要构建一个网格.首先,您需要使用Strategy.P2P_CLUSTER.我们在Nearby Connections(CLUSTER,STAR,POINT_TO_POINT)中提供了3种策略,群集是最常用的策略.使用群集,您可以根据需要连接到任意数量的设备,并且可以根据需要从任意数量的设备接收传入连接.或者,几乎……手机内部的蓝牙无线电很弱,一次只能容纳3~4个连接.

为了能够连接所有~30个设备,我建议形成一个“蛇形”连接.设备的头部和尾部将同时扫描和通告(并且未连接到任何人的设备被视为长度为1的蛇).头部和尾部将保持相互连接(确保不会连接到自身*),并且很快就会有很长的连接将每个人连接在一起.从那里,您可以在链中转发消息,以确保每个人都能获得它.

>为避免连接到您自己,您可以为每个设备分配一个随机数(例如,1,4,8,10),并且每个设备都尝试连接到下一个最高的号码,或者您可以在连接时断开消息并断开连接你得到一个回声(因为广播进入了一个圆圈).

标签:android,google-nearby
来源: https://codeday.me/bug/20191006/1859835.html