gpt4 book ai didi

java - 如何在android中实现客户端服务器来制作BINGO游戏,但不用于聊天应用程序

转载 作者:太空宇宙 更新时间:2023-11-04 11:07:29 24 4
gpt4 key购买 nike

我正在制作宾果游戏。为此,我将通过 wifi 热点连接两台手机,并且网格应该共享给两个客户端,即两台手机都应该看到网格。我怎样才能通过网格两个客户端?另外,如何在客户端和服务器之间传递数字?通过对象或其他东西以及如何?另外如何准确地实现客户端服务器应用程序在android上制作2个java文件? PS:我们没有实现聊天应用程序。

宾果 XML 文件:https://github.com/TanishaShrotriya/SDL/blob/master/activity_main_bingo.xml

Java 文件:https://github.com/TanishaShrotriya/SDL/blob/master/MainActivity_bingo.java

最佳答案

您有几个选择。首先,您需要确定哪种架构适合您。

客户端/服务器(带有 API 的 AWS 实例和带有 PUSH 的 Firebase)---这将使设备能够在打开时获取当前的状态,并在确认其空间被调用/填充时将更改推送到其板上。---这将使该“房间”中的其他设备获得一个游戏虚拟共享空间的名称。接收要显示的更改数据的推送通知。

接下来您需要决定服务器是否将维护每个用户的完整状态或仅维护当前调用的值以进行比较。

如果您决定不想编写 API 并设置用于 PUSH 的服务器,您可以在该区域的每个人之间进行临时 Wi-Fi 甚至基于 BLE 的通信。但是,这需要对如何传递字节、处理网络问题、延迟以及设备间通信有更多的了解。

如果您选择使用您提到的临时 WiFi,您将必须维护大量连接,例如网状网络。更好的选择是让所有设备加入同一个 wifi 网络,以便它们可以相互访问,但不一定跟踪网状网络。

但是,即使您在同一个 wifi 上,如果没有服务器来保留当前玩家的路由和 IP,也很难知道将信息发送给谁。因此,您可能必须创建一个主机,以便它可以监听已注册的玩家。主机设备需要保留到所有其他设备的路由,以便在发生更改时可以将信息发送到每个 IP 地址。

我仍然强烈建议采用 API 的客户端/服务器路线并 PUSH 它将更加可靠。

现在说到如何传递数据,你当然可以通过代码截图并发送图片,但这很浪费。我建议使用一个矩阵来跟踪所覆盖的值,并简单地将 card_id、player_id 和所覆盖 block 的 json 的 JSON fragment 发送到服务器,然后服务器可以将更改推送回“虚拟房间”中的所有玩家。这使他们能够了解其他竞争对手的表现。

因此,我必须询问有关您的目标是什么的更多详细信息,以进一步提供帮助,但这是我的建议,因为临时 WiFi 或蓝牙是可行的,但在网格尺寸上,您会感到非常头疼。如果你真的反对服务器和 API,那么所有都在同一个 wifi 上的主机场景设备将是我的第二个方向,我看到你避免这种情况的唯一原因是,如果你想在没有互联网的 wifi 上玩,或者如果你不想支付每月 30 美元的流量,而流量很小。

请告诉我这是否有帮助或者您是否想提供更多说明。

关于java - 如何在android中实现客户端服务器来制作BINGO游戏,但不用于聊天应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46347439/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com