2012-04-09 52 views
0

好的,这是我正在做的。我正在计划一个浏览器游戏,但我想要一个实时的方面。基本上,玩家可以在城市地图周围漫游,遇到随机的NPC和敌人。我想知道的是,是否有一种方法可以让脚本不断运行,与用户的浏览分开进行,从而控制NPC的移动(每秒移动一次等等)?因此,用户将玩游戏(在地图上的某个区域),并且会有类似于控制NPC等游戏客户端(如WoW)的东西,但在服务器端受到控制。 (这是共享托管,顺便说一句,如果我需要专用或其他方式,这也是一种选择)。我真的不希望用户的浏览器每秒发出一个请求,要求在整个世界范围内的所有NPC的位置。我只是想找出另一种方式去做这件事,同时还有一个实时的方面。实时服务器端脚本控制外部变量和值

如果这是不可能的,那很好,我有备用的非实时游戏计划。如果以上任何内容都不清楚,我会尽量详细说明。

回答

1

你或许应该谷歌这样的: 的PHP守护HOWTO“

守护进程是其驻留在内存中,并可以与信号控制方案。

可悲的是,php处理异步事件的能力很差,比如发送一些数据并等待答案,同时继续运行。

我在写sms-daemon时面临这个问题 - 客户端把sms放入队列,守护进程发送并等待确认。但在等待时,它应该继续接收来自队列的另一条消息。

+0

我喜欢这个社区。这似乎是我寻找的完美答案。对于其他人可能会阅读这个,我已经找到一个教程在http://kevin.vanzonneveld.net/techblog/article/create_daemons_in_php/使用梨包,它看起来很容易使用。事情是,它看起来像你需要完全访问Web服务器,而我目前正在使用共享虚拟主机。专用的服务器包通常会解决这个问题吗? – TerranRich 2012-04-09 18:45:17

+1

专用服务器可能是一个昂贵的解决方案。如果你会吸引成千上万的用户,你必须得到专用的服务器。但是一开始VPS/VDS(http://en.wikipedia.org/wiki/Virtual_private_server)方法就足够了。现代主机提供这项服务。 你会感觉自己像服务器上的根。 – 2012-04-09 22:17:48