0

我正在开发一款多人游戏,玩家人数超过 2 人。我希望附近的玩家能够在不使用网络或服务器的情况下玩游戏。例如,3 个人在公共汽车或汽车上使用非 3G 平板电脑。游戏是回合制的,不是实时的。因此,有几个问题。

  1. 有没有人有通过蓝牙同时连接两个以上设备的工作示例?
  2. 坚持使用 BT:建立和断开连接需要多长时间?连接到单个设备、发送/接收更新、断开连接、重复...
  3. 我可以使用 Wi-Fi 执行此操作吗?换句话说,Android设备是否可以在不使用外部路由器的情况下组成网络?

熟悉socket编程;我也看过 BT Chat 的例子。如果可能的话,我想避免使用任何 3rd 方引擎。

4

1 回答 1

2

1 - 我没有,但我在这里遇到了其他人的评论。

2 - 问题是第一个发现。当一个新玩家到达并想要加入时,他必须找到现有的微微网来加入通信。即使他以前与这些人联系过,他也不知道他们当前通信的时间,我认为他的设备需要大约 5 秒才能找到它。如果他断开连接并为下一轮重新建立连接,那么应该没问题 - 只要时钟的漂移不太严重,他仍然能够快速连接。

相比之下,其他一切都很快,但我不愿给出数字,因为我没有太多在 Android 上做这类事情的经验。我会说,虽然“发送/接收更新”的延迟与进行本地 W-Fi 通信在同一个球场 - 这不会是一个问题。

3 - 是的,如果其中一台设备具有 Wi-Fi 热点功能,或者 W-Fi Direct 可能是合适的(我自己不知道该功能),但他们都必须拥有它,这不太可能。使用 Wi-Fi 的另一个问题是这个新连接取代了他们现有的连接,他们可能一直在使用这些连接来访问互联网。

总的来说,我会说使用蓝牙可能会很棘手(并且在各种实现中肯定存在错误),但我仍然认为它是您所描述的场景的最佳选择。

于 2012-05-20T15:21:50.567 回答