如何在PHP中检查文件中的更改

时间:2012-10-11 01:12:21

标签: php multiplayer inotify

我正在撰写一款多人Connect 4游戏。当玩家进行移动时,该移动将被写入包含Connect 4板上每个位置状态的文件。

我目前有一个带有延迟循环的PHP脚本,用于检查自上一次循环迭代以来的更改,如果有更改,PHP脚本会返回要发送给播放器的更新文件。

这种方法非常低效且凌乱;是否有更好的方式立即通知游戏中的变化?

此外,我尝试使用inotify,但它似乎无法在我的服务器上运行。 (Mac OS X Server 10.8,这可能就是为什么......)

2 个答案:

答案 0 :(得分:0)

在后台进行轮询对于获取此类更改并不常见。你能更具体地了解你不喜欢的东西吗?

如果您正在寻找更聪明的东西,每个玩家都可以与“游戏会话”API异步打开保持活动请求。实现可以监视文件的更改,并在检测到更改时发送下一个块。更改是来自文件还是数据库取决于服务器实现。当然,您的客户端应用程序需要确保请求保持打开状态,并在关闭时重新连接。

答案 1 :(得分:0)

在PHP中很难,使用node.js怎么样?它内置了这些功能。