我们目前正在建立一个基于Meteor.js和Phaser.io的实时多人游戏。
我们的问题如下:Meteor的发布/订阅系统速度不够快,正如我们预期的那样。
每秒最多60次,客户端可以调用方法来更新已发布的文档。并且经常发生玩家移动被冻结的原因是由于写入MongoDB中的每个更改的限制,然后检查观察者的更改并推送到其他客户端。如果两个玩家同时移动(这可能意味着在同一个文档上写作),则冻结会更频繁地发生。
显然,如果我这样问,我已经确定冻结来自发布更新时间,而不是来自Phaser.io
所以这是我的问题:我如何实现" true" Meteor里面的实时系统?
我一直在寻找DDP,但是文档真的很差,不要让我觉得我可以用它有效地建立沟通过程。似乎绝对没有办法用DDP处理客户端和服务器之间的自定义事件。
当然,有Socket.io,但似乎很多人在使用Meteor实现它时遇到了麻烦。
你会做什么? 哪种工具或方法可以解决问题?谢谢你。