最多可连接 45 台设备的多点连接框架

2024-01-20

我希望使用多点连接框架,并且感谢任何有关如何最好地进行的经验之谈。

我需要在“教练”设备和最多 45 个“球员”设备之间建立连接。它们都将位于同一空间,但无法预测 wifi 可用性或连接情况。教练设备需要每秒向所有玩家设备发送一条指令(一个小数据包)。每个“球员”需要每秒将蓝牙心率监测器的读数(非常小的数据包)发送回教练。由于每次会话的最大同行人数为 8,这些想法是否可以满足我需要的人数?

a) 与教练建立连接的前 7 个玩家设备通告不同的会话类型,并允许 7 个(或者是 6 个?)以上的玩家加入。前 7 个角色充当其他 49 个(或 42 个?)的中间人,传递教练的指令并将收集到的读数传回给教练。指令和心率读数之间有几秒钟的延迟不是首选,但也可以。

b) 教练设备创建并通告一​​次会话。连接 7 个玩家设备后,教练设备将创建另一个会话并重复 7 个以上的会话。重复此操作,直到所有玩家设备都连接到教练。这似乎不太可能起作用,但在不了解多点连接的魔力的情况下,我想到了一个选择。

c) 教练与玩家设备 1 建立会话,该设备以菊花链拓扑连接到设备 2...。当每个设备收到指令时,它会将自己的读数添加到数据包中并继续发送。最后一个设备将整个数据包返回给教练。我无法预测一轮数据需要多长时间,而且如果有一个设备离开组,似乎也很麻烦。

如果您有任何关于在 45 台左右设备上使用多点连接框架的建议或经验之声,我们将不胜感激。


我最近一直在思考类似的事情,我想说,在你的情况下,如果你不需要“玩家”互相交流,b)将是你最好的选择。

多点连接支持多个会话,因此您可以拥有一个会话对象数组,作为“教练”进行广告,并且每个发现的玩家都可以邀请最新的会话(如果有容量)或创建一个新会话。

您的玩家对象可以保留对会话和对等体 ID 的引用,以便发送数据,并且可以保留映射到相应玩家对象的对等体 ID 显示名称的字典以处理传入数据。

这样,与 a) 和 c) 不同,您在给定的“球员”和“教练”之间也没有跳跃。

显然这里真正的技巧是测试。我自己没有 8 个以上的设备,而且我仍然不确定如何测试我自己的实现!

Edit

我在这里用实际代码回答了类似的问题:在 iPhone 之间传输数据的最佳选择 https://stackoverflow.com/questions/20896791/best-option-for-streaming-data-between-iphones

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

最多可连接 45 台设备的多点连接框架 的相关文章

随机推荐