首页 文章

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

提问于
浏览
0

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

我经历了google sample codes on rockpaperscissors and walkietalkie

但是,当我使用4部手机测试样品时,似乎只有一台设备连接 at any one time .

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

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

1 回答

  • 1

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

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

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

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

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

相关问题