2客户端+ 1服务器游戏在Android与web服务器在PHP


2 client + 1 Server game in Android with webserver in PHP

我试图建立一个Android应用程序与2个客户端和1个服务器。设计如下:

  1. 客户端1登录。
  2. 客户端2登录。

  3. Client 1输入一些需要通过MySQL数据库验证的文本

  4. 根据服务器的响应,发送一些结果给Client 2。

这个循环往复,直到游戏结束。

两个客户端都是android移动设备。我能够建立一个1客户端(Java) +服务器(PHP) + MySQL连接,它工作得很好。但是现在我对如何在我的应用程序中实现与同一服务器交互的2个客户端的概念感到困惑。

缺少一些重要的用例:

  • 如果连接了两个以上的客户端会发生什么?
  • 客户1是如何知道客户2的,他是如何和客户2开始游戏的?
  • 如果其中一个客户端断开连接会发生什么?

通常这些用例的答案表明你的服务器有状态,至少你需要处理登录客户端的状态和活动游戏的状态。

你可以用PHP和MySQL实现它,但你可能会发现自己花了大部分时间来处理与架构相关的问题,而不是添加新功能。我建议选择更好的框架,至少是servlet。

但是,如果你仍然想在PHP中做,而不回答上面的用例:

  • 一旦登录,启动拉取机制:每x秒客户端询问服务器是否有信息给他,并根据响应执行相应的操作。
  • 添加一个响应表到服务器,当你有事情要告诉客户端时,添加客户端ID和响应到这个表。
  • 你可能需要一个登录用户表和一个游戏状态表。

客户端1登录并开始拉拔

  • 客户端1响应:do nothing

客户端2登录并开始拉拔

  • 客户端1响应:发送文本
  • 客户端2响应:do nothing

客户端1发送文本

  • 客户端1响应:do nothing
  • 客户端2响应:result

客户端2发送文本

  • 客户端1响应:result
  • 客户端2响应:do nothing

等。

还有其他的方法,但是,在我看来PHP不是正确的解决方案。

希望这对你有帮助,Yaron