为了尝试附近的API,我决定构建一个应用程序,让老师跟踪学生在课堂上的出勤情况 . 与Caren Chang正在做的类似 .
我经历了google sample codes on rockpaperscissors and walkietalkie
但是,当我使用4部手机测试样品时,似乎只有一台设备连接 at any one time .
我想 Build 一个老师和学生应用程序,教师广告并发现学生,随着更多设备在教室设置中连接,同时向每个连接的设备发送有效负载 .
如何使用附近的api连接并同时向新设备和多个设备发送数据?
1 回答
这是一个很好的用例,也是我们过去谈过的用例 .
如果它专门用于出勤,那么您不需要形成连接 . 当一台设备不断扫描时,您可以让每台设备都做广告 . 您将以这种方式快速 Build 设备列表 .
但是,如果您想做的不仅仅是出勤,例如将作业推送到每个人的设备,您将需要构建一个网格 . 首先,您需要使用Strategy.P2P_CLUSTER . 我们在Nearby Connections(CLUSTER,STAR,POINT_TO_POINT)中提供了3种策略,群集是最常用的策略 . 使用群集,您可以根据需要连接到任意数量的设备,并且可以根据需要从任意数量的设备接收传入连接 . 或者,几乎......手机内部的蓝牙无线电很弱,一次只能容纳3~4个连接 .
为了能够连接所有~30个设备,我建议形成一个“蛇形”连接 . 设备的头部和尾部将同时扫描和通告(并且未连接到任何人的设备被视为长度为1的蛇) . 头部和尾部将保持相互连接(确保不会连接到自身*),并且很快就会有很长的连接将每个人连接在一起 . 从那里,您可以在链中转发消息,以确保每个人都能获得它 .