在PHP上添加实时多人游戏的不同方式的优缺点

时间:2013-05-09 19:01:23

标签: php node.js architecture websocket multiplayer

背景

该网站具有经典的LAMP设置,可在虚拟专用服务器上运行。目的是添加一个运行在同一个域上的HTML5多人游戏,延迟时间长达500毫秒,维护服务器端的状态,并且可以在高峰时段支持几千个并发游戏,每场游戏2-5个玩家。

由于我对PHP和服务器端的经验很少,我最初的计划是在node.js + socket.io中编写一个游戏演示,然后在PHP中重写它。但是,既然我已经编写了演示(在服务器端有~400行代码),我对这个计划有疑问。我正在考虑两种集成方式:

用PHP编写游戏

的优点:

  • 原始设置的更改次数减少
  • 无需在语言,模板等方面将服务器端分为两部分。
缺点:

  • 缺乏PHP中实时通信的流行解决方案
  • 可伸缩性问题

并行运行node.js和PHP服务器

由于网站托管在VPS上,我想我可以将nginx放在Apache和node.js之前,这样客户端就只需要在一个域上使用单个端口。

的优点:

  • 能够使用socket.io与客户端进行实时通信
  • 如果游戏服务器出现故障,该网站的其余部分仍然可以正常工作
缺点:

  • 通过添加其他Web服务器和反向代理来使设置复杂化

问题

正如我所说的,我对服务器方面的经验不多,尽管让演示有很多帮助。有更好的方法吗?我错过了重要的利弊吗?哪些点在实践中最重要?

0 个答案:

没有答案