2012-11-30 55 views
1

我想使用socket.io和Geddy一起使用。我只是跟着在下面的鏈接中的說明:GeddyJS&socket.io:從服務器端捕獲和發射事件

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

建議我如何趕上在服務器端具體型號的「連接」事件。

還可以找到的東西我迄今爲止這個模型做了以下一瞥...

geddy scaffold -rt LiveUpdate stat:string category:string 

,發現socket.io相關以下自動生成的腳本「show.html.ejs」

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

我真正需要的是知道如何從服務器端捕獲或發出此模型的事件。

回答

1

發射從Geddy模型和控制器socket.io事件很簡單:

  • geddy.io.sockets.emit將發出一個事件到所有連接的客戶端

如果你要聽從事件或將事件發送到特定的客戶端,您需要在應用的config目錄中創建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); 
    }); 
}); 
+0

這樣的似乎可能會在init.js中出現。 –