GeddyJS& socket.io:从服务器端捕获和发出事件

时间:2012-11-30 11:38:43

标签: node.js socket.io geddy

我想将socket.io和Geddy一起使用。我只是按照以下链接中的说明进行操作:

https://github.com/mde/geddy/wiki/Getting-started-with-Geddy,-Socket.io,-and-Authentication

建议我如何捕获服务器端特定模型上的“连接”事件。

还可以在下面找到我迄今为止使用此模型所做的一瞥...

geddy scaffold -rt LiveUpdate stat:string category:string

的“show.html.ejs”中找到了与socket.io相关的以下自动生成的脚本

geddy.io.addListenersForModels(['LiveUpdate']);
geddy.model.LiveUpdate.on('update', function (chat) { 
  ....

我真正需要的是知道如何从服务器端捕获或发出此模型的事件。

1 个答案:

答案 0 :(得分:1)

从Geddy中的模型和控制器发出socket.io事件非常简单:

  • geddy.io.sockets.emit将向所有已连接的客户端发送事件

如果您想从特定客户端侦听事件或向其发送事件,则需要在应用程序的配置目录中创建after_start.js文件,并像通常使用的那样使用geddy.io socket.io

geddy.io.sockets.on('connection', function (socket) {
  socket.emit('news', { hello: 'world' });
  socket.on('my other event', function (data) {
    console.log(data);
  });
});