android - 游戏创建中的套接字与数据库
问题描述
我正在为android创建一个多人游戏,就像:你选择一个角色,你得到一个对手,在这个玩家与玩家“战斗”期间,他们只点击作为“攻击”的按钮。
虽然起初这似乎是一项简单的任务,但我不太确定如何在对手选择攻击的用户之间进行通信,但我提出了两种可能性:套接字和数据库。
套接字似乎是最好的选择,然而,我发现它们只能在同一个网络上工作,这显然不符合我的目的。
关于数据库我不确定这是否是一个好主意,因为我认为发出如此多的请求来检查其他玩家是否已经选择会使游戏变得迟钝。我什至创建了一个 Firebase 帐户,因为他们的实时数据库使用起来似乎更合理,但我找不到任何方法可以将 Firebase 与 LibGDX(我用于此应用程序)集成。
综上所述,答案是:快速交换数据的最佳方式是什么?我如何使用 LibGDX 来实现它?
如果它有任何帮助并且预算为 0 美元,我正在使用 Android Studio。
解决方案
由于预算为 0 美元,因此获得 VPS(虚拟专用服务器)是不可能的。所以你需要另一种选择。从您自己的 PC 上在家中运行您的服务器。
您的下一步将是获得免费的 dns 服务,该服务会将网址重定向到您的家庭路由器 IP 地址,然后您可以从那里设置路由器以将端口直接重定向到您的 PC。这些可以是 Web 端口,也可以是 TCP 使用的端口。
然后,您可以选择使用什么:
1 - 可由将在服务器上运行的各种语言使用的 Web 套接字。
2 - TCP/IP 服务器,它的开销比 Web 套接字少,并且通过 TCP 与您的服务器直接通信。
以上两种方法各有千秋,但从哪里开始取决于您。服务器软件本身可以用多种语言编写,包括与您当前的 Android 项目更兼容的 Java。
如果不提出其他问题,我无法进一步深入解释。因此,从这里开始,对各种技术进行了大量研究。
推荐阅读
- vba - 如何获取最后一个单词并添加行并放在最后一页底部
- c# - 如何在 c# System.Web.Http.ApiController 中实现信号器客户端
- json - 如何使用 vba 创建嵌套的 json 文件
- android - 如何在android的WebView中获取、保存和重用滚动位置
- python - 如何使用 aws CDK 和 Python 部署层并将其附加到 aws lambda 函数
- angular - 错误错误:未捕获(承诺):错误:没有布尔提供者
- cmake - 使用 cmake 编译错误的标头
- c++ - 继承:调用基类的成员和方法
- php - 在 Wordpress、Woocommerce 和 AffiliateWP 上,修改 email-order-details.php 以在电子邮件模板中包含会员的名称
- javascript - 对仅在调试模式下工作的 LocaleLowerCase 做出本机反应