有什么方法可以编写24/7远程工作游戏引擎?

时间:2015-09-11 22:18:55

标签: php sockets

我是一名初学程序员,想要编写简单的回合制2人游戏。

当配对的2个玩家想要进行通信时,问题就开始了,我可以使用套接字在C ++中编写一个简单的服务器,但是人们只能在服务器在线时才能玩。

我不能24/7运行我的补偿:

是否可以使用在线免费托管(空网站+ PHP参数+ PHP套接字+ mySQL)作为游戏服务器?我在一些网站上进行了访问,但他们只允许网络托管,他们不会允许我将它用作游戏 - 电子计算中心。

有哪些其他方法可以编写一个24/7(最好是免费)运行的服务器应用程序?

如果我将整个项目转换为同伴2,那该怎么办?(比赛期间的沟通非常简单,但......球员如何搜索其他人?一名球员怎么样?知道其他玩家在线并向他挑战一场比赛吗?)

感谢您当前的答案,现在我只是考虑免费的SQL数据库+ p2p解决方案或任何其他可以24/7全天候工作的解决方案

2 个答案:

答案 0 :(得分:0)

为了运行服务器应用程序,您可能需要一些具有互联网连接的计算能力。在接下来的几行中,我尝试列出一些免费选项(假设这是你正在寻找的)。

由于您没有详细说明您的情况,以下是一些案例:

  • 一般:您可以尝试AWS Free Tier,其中

      

    创建您的AWS账户后,您可以在特定使用限制内免费使用21种产品和服务中的任何一种 。

    为了使答案听起来不那么便宜,您还可以尝试Microsoft Azure Free Trial与AWS非常相似,但仅持续1个月。

  • 您没有说明,但如果您是正式学生,GitHub学生开发者包为您提供100美元的DigitalOcean平台学分

答案 1 :(得分:0)

我能提出的最佳解决方案如下:

  1. 拥有一个MySQL数据库来注册用户。就像名字和他们的IP地址一样。
  2. 当客户端启动时,它会查询整个用户数据库并在本地保存/更新它们。
  3. 接下来客户端查询服务器以更新玩家自己的IP地址。这样任何其他客户端都会收到最新的IP地址。
  4. 从此时起,客户端使用自己的端口来ping本地保存的IP地址,以便知道谁在线以及谁不在线。或类似的东西。我不会用p2p协议来形成。
  5. 最后,让客户端查询服务器每小时或更长时间仅更新一次用户,这样他们就会收到已经播放时发生的更新IP地址。
  6. 这样做可以为您节省大量数据流量,同时仍然保持您的多人游戏可玩。