我最近为 Android 制作了一款游戏,并希望为其添加多人游戏功能,为了避免服务器成本,我计划使用蓝牙将多达 8 台设备连接在一起,并分享他们在游戏中的进度的少量数据(得分以及他们是否仍然连接)。花了一些时间查看网络教程和 Android API,这让我更加困惑。任何人都对如何做或关于这个问题的任何好的教程有任何建议。
2 回答
我相信蓝牙更像是一个 p2p 类型的网络。
我建议使用 wifi 或 wifi direct,甚至可以让一部手机成为他们都连接的热点。
或者你可以做一些像网络标准 ospf 那样的事情,而不是用更新淹没整个网络,而是将更新发送到一个指定的设备,然后再将它发送给所有其他设备。
根据这里的答案:Android Bluetooth API connect to multiple devices
您当然可以连接到多个设备,但鉴于我们目前拥有的其他技术,我强烈建议您反对它。那里的 Mist 设备无法处理 7 种不同的设备,更不用说有足够好的电池来完成这些过程了。
鉴于您至少有 1 台设备是现代的,我会使用 wifi ......
只是为了让您知道其他可能性的存在,有WiFi Direct,它允许通过 WiFi 连接 Android 设备,而无需接入点。引用介绍:
Wi-Fi Direct 允许具有适当硬件的 Android 4.0(API 级别 14)或更高版本的设备通过 Wi-Fi 直接相互连接,而无需中间接入点。使用这些 API,您可以在每个设备支持 Wi-Fi Direct 时发现并连接到其他设备,然后通过比蓝牙连接长得多的距离通过快速连接进行通信。这对于在用户之间共享数据的应用程序很有用,例如多人游戏或照片共享应用程序。