首页 > 解决方案 > 游戏创建中的套接字与数据库

问题描述

我正在为android创建一个多人游戏,就像:你选择一个角色,你得到一个对手,在这个玩家与玩家“战斗”期间,他们只点击作为“攻击”的按钮。

虽然起初这似乎是一项简单的任务,但我不太确定如何在对手选择攻击的用户之间进行通信,但我提出了两种可能性:套接字和数据库。

套接字似乎是最好的选择,然而,我发现它们只能在同一个网络上工作,这显然不符合我的目的。

关于数据库我不确定这是否是一个好主意,因为我认为发出如此多的请求来检查其他玩家是否已经选择会使游戏变得迟钝。我什至创建了一个 Firebase 帐户,因为他们的实时数据库使用起来似乎更合理,但我找不到任何方法可以将 Firebase 与 LibGDX(我用于此应用程序)集成。

综上所述,答案是:快速交换数据的最佳方式是什么?我如何使用 LibGDX 来实现它?

如果它有任何帮助并且预算为 0 美元,我正在使用 Android Studio。

标签: androidsocketsfirebaselibgdx

解决方案


由于预算为 0 美元,因此获得 VPS(虚拟专用服务器)是不可能的。所以你需要另一种选择。从您自己的 PC 上在家中运行您的服务器。

您的下一步将是获得免费的 dns 服务,该服务会将网址重定向到您的家庭路由器 IP 地址,然后您可以从那里设置路由器以将端口直接重定向到您的 PC。这些可以是 Web 端口,也可以是 TCP 使用的端口。

然后,您可以选择使用什么:

1 - 可由将在服务器上运行的各种语言使用的 Web 套接字。

2 - TCP/IP 服务器,它的开销比 Web 套接字少,并且通过 TCP 与您的服务器直接通信。

以上两种方法各有千秋,但从哪里开始取决于您。服务器软件本身可以用多种语言编写,包括与您当前的 Android 项目更兼容的 Java。

如果不提出其他问题,我无法进一步深入解释。因此,从这里开始,对各种技术进行了大量研究。


推荐阅读