Php 实时多人游戏技术

Php 实时多人游戏技术,php,javascript,mysql,database,database-connection,Php,Javascript,Mysql,Database,Database Connection,我正在尝试创建一个实时多人网络游戏,现在我正在使用一个数据库来保存客户端操作,每个客户端向数据库发送一个AJAX,以每100或200毫秒连续检查其他玩家的操作,我想知道是否有更好的方法来实现这一点 如果数据库中的某些内容发生更改,服务器是否有办法实际联系客户机?然后,如果一个客户机执行了操作,服务器可以联系另一个客户机,告诉它已执行了操作。或者有没有其他方法比为每个客户机检查数据库的持续循环更好呢?有多种HTML5 WebSocket解决方案(基本上是将数据推送到一个实现中)已经越来越受欢迎。这

我正在尝试创建一个实时多人网络游戏,现在我正在使用一个数据库来保存客户端操作,每个客户端向数据库发送一个AJAX,以每100或200毫秒连续检查其他玩家的操作,我想知道是否有更好的方法来实现这一点


如果数据库中的某些内容发生更改,服务器是否有办法实际联系客户机?然后,如果一个客户机执行了操作,服务器可以联系另一个客户机,告诉它已执行了操作。或者有没有其他方法比为每个客户机检查数据库的持续循环更好呢?

有多种HTML5 WebSocket解决方案(基本上是将数据推送到一个实现中)已经越来越受欢迎。这是一个选项(也是我最喜欢的),但也有其他选项可以通过搜索轻松找到。我还将介绍和。

我建议您研究一下客户机-服务器(websocket)框架,如socket.io或signar

有了这样一个框架,您可以保持与服务器之间的持久连接。您可以将其与发布子模型相结合,用于在同一游戏中向其他客户端引发/传递事件(在服务器端验证之后)

如果您想登录到数据库,这很好,但不会使用该数据库(除非您作为例外绑定到redis+pub-sub)作为传输

见:

  • 网袋
  • comet(长轮询、everscroll、iframe事件)
  • 酒吧间酒吧

您正在寻找web套接字/长轮询DBS用于长期存储比用于状态存储更好。考虑在睡眠()循环中使用PHP的APC……你可以链接到任何教程或信息吗?我以前查找过socket.io和node.js,甚至安装了它们,但是我能找到的文档太少了。搜索一下
socket.io入门
,你会发现很多基本教程。。。除此之外,我发现Rob Connery的try it安静演示非常棒。