0

我有一个 Geddy 应用程序,它有一些实时模型(我记得使用 -rt 来生成一些模型),我想重新审视我的 Geddy 应用程序的实时性。

我不需要自动更新我的模型(我不与客户端共享模型;我仅将 Geddy 用作 REST 后端)

但是我想通过 socket.io 显式地发出事件并在我的控制器中使用它的房间功能,我将在客户端适当地处理这些事件。

所以,我的问题是: 1. 我如何清理我现有的代码,因为我不想在我的应用程序中使用实时模型 2. 我需要做什么才能显式地从我的控制器中获取事件?

我尝试在 after_start.js 中执行以下操作,如下所示:“现有项目的实时”部分中的https://github.com/geddy/geddy/wiki/Realtime-and-MVC ,但没有任何消息被记录.. .

console.log('Here 1');
geddy.io.sockets.on('connection', function(socket) {
    console.log('Here 2');
    socket.emit('hello', {message: "world"});
    socket.on('message', function(message) {
        console.log('Message!');
    });
});

任何帮助深表感谢。谢谢!

4

1 回答 1

0

刚刚发现 after_start.js 是一种解决方法,因为应用程序缺少事件来知道服务器何时实际启动(因此您会知道何时可以附加 Socket.io)。现在geddy工作进程中的对象发出一个“启动”事件,您可以使用:

http://geddyjs.org/reference#global

因此,在您的 init.js 中为该事件设置一个侦听器,并在其中设置您的 RT 代码。

于 2014-05-14T18:07:53.873 回答