安卓中的近距离多人游戏通信



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

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

我熟悉套接字编程;我也看过BT Chat的例子。 如果可能的话,我想避免使用任何第三方引擎。

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

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

相比之下,其他一切都很快,但我不愿给出数字,因为我在 Android 上做这种事情的经验不多。 我会说,虽然"发送/接收更新"的延迟与进行本地 W-Fi 通信处于同一范围内 - 这不是问题。

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

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

最新更新