发布到所有连接的客户端 - Meteor Server崩溃

时间:2016-07-30 18:35:28

标签: mongodb meteor websocket ddp

我正在使用Meteor创建一个多人游戏的财富游戏。我对Meteor很新,我觉得我构建它的方式很糟糕......我的计算机开始听起来像准备升空然后我的服务器最终崩溃了:|

我的代码在我的服务器上运行一个计时器,该计时器不断向所有连接的客户端广播/发布。现在我已经设置好了,所以我的服务器正在对MongoDB文档进行大量写入(每隔51ms)。然后我发布MongoDB文档并让所有客户订阅它,以便他们看到相同的计时器。

在客户端我也使用Meteor的内置'observeChanges'来检查计时器何时达到0.00,然后调用一个旋转轮子的功能。

所有这些看起来似乎都是一种荒谬的做法,它正在扼杀我的CPU。设置能够在所有连接浏览器中广播/发布相同数据的Meteor应用程序的最佳方式是什么。

游戏就是这样......有一个30秒的计时器,下降到0.00,然后调用一个函数旋转命运之轮。

我错过了什么?

1 个答案:

答案 0 :(得分:1)

你做错了,你不应该在服务器上运行一个定时器来不断改变Mongo记录,做定时器客户端,只是给它们启动信号,或者以其他方式同步它们,但是不要使用数据库和以这种方式出版,这样做是一个可怕的想法。

我希望它有所帮助。