繁体   English   中英

如何在Android中实现客户端服务器以制作BINGO游戏,而不是聊天应用程序

[英]How to implement client server in android for making BINGO game, but not for chat application

我正在玩宾果游戏。 为此,我将通过wifi热点连接两个手机,并且网格应该共享给两个客户端,也就是说,两个手机都应该看到网格。 我怎样才能让两个客户同时通过网格? 另外,如何在客户端和服务器之间传递数字? 通过物体或其他东西,又如何? 另外,如何正确实现制作2个Java文件和Android的客户端服务器应用程序? 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)---这将使设备能够在打开时获取当前状态,并在确认已调用/填充空间的情况下将更改推送到其板上。 ---这将为该“房间”中的其他设备启用游戏虚拟共享空间的名称。 接收要显示的更改数据的PUSH通知。

接下来,您需要确定服务器将保持每个用户的完整状态还是仅保持当前调用的值以进行比较。

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

如果您选择按照您提到的方式进行临时wifi,则必须维护大量连接,例如网状网络。 更好的选择是让所有设备都加入同一个wifi网络,以便它们可以相互访问,但不必跟踪网状网络。

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

我仍然强烈建议您使用API​​和PUSH的客户端/服务器路由,它将更加可靠。

现在,关于如何传递数据,您当然可以通过代码截屏并发送图像,但这很浪费。 我建议您使用一个矩阵来跟踪覆盖的值,并简单地将card_id,player_id和Covered块的JSON片段发送至服务器,然后再将更改推回“虚拟房间”中的所有玩家。 这使他们可以看到竞争对手的表现。

因此,我将需要询问有关您的目标进一步帮助的更多详细信息,但这是我的建议,因为可以使用即席wifi或蓝牙,但在网目尺寸的情况下,您会头疼不已。 如果您确实是反服务器和API,那么主机场景设备全部位于同一wifi上将是我的第二个方向,这是我能避免看到的唯一原因,如果您想使用没有互联网的wifi或您不想在流量很小的情况下每月支付$ 30的流量。

让我知道这是否有帮助,或者您是否想提供其他说明。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM