node.js 返回客户端等待事件

Posted

技术标签:

【中文标题】node.js 返回客户端等待事件【英文标题】:node.js return to client waiting for event 【发布时间】:2012-09-13 17:58:10 【问题描述】:

我在 node.js 上玩了一下 Comet 的概念,但我仍然有点困惑,我想知道这里是否有人能指出我正确的方向。

考虑一个游戏应用程序,其中客户端代码应该要求轮到它采取行动(例如在国际象棋应用程序上)。我在这里的想法是使用这样的东西:

当比赛开始时,节点服务器上的一个方法被调用以在matches数组上创建一个元素,其中包含比赛的id和初始玩家。

当玩家移动时,会调用一个方法来更新引用此匹配的数组元素上的当前玩家。此方法应在更改发生时触发一个事件。

在能够进行任何移动之前,客户端代码应该调用服务器上的一个方法来检查是否轮到用户,如果不是轮到则等待更改玩家事件。

我不确定这是否是事件循环中的一个好方法,如果是,我不知道如何让该方法等到事件返回。

有什么建议吗?

【问题讨论】:

【参考方案1】:

Node.js 和 Socket.io 是您所需要的!我写了几个和你描述类似的游戏。 实时示例:example 另一个线程:Tutorial on Socket.io

【讨论】:

其实我几周前已经转入socket.io,游戏已经完成了,不过还是谢谢。

以上是关于node.js 返回客户端等待事件的主要内容,如果未能解决你的问题,请参考以下文章

等待事件在 Node.js 进程内触发

将 Node.js 流错误事件传播到异步等待样式代码

一文搞懂Node.js以及浏览器中的事件循环机制

nodejs入门总结二:事件驱动

拆分进程以等待 NodeJS 上的事件

Node.js 等待循环中读取的所有文件