Я пытаюсь точно понять, где и как я должен реализовать серверный код node.js / socketstream, который выполняется независимо от клиентских вызовов RPC. В качестве простого примера я пытаюсь установить регулярное обновление часов для подключенных клиентов, используя что-то вроде этого на стороне сервера:
var pushTime = function() {
d = new Date();
ss.publish.all('newServerTime', d);
return;
};
setInterval(pushTime, 1000);
И настройка клиента для подписки на это событие публикации вроде этого:
ss.event.on('newServerTime', function(time) {
return $('#serverTime').val(time);
});
Проблема: куда мне поместить / выполнить функцию pushTime на стороне сервера? Документы предлагают дерево / server / rpc, поэтому я помещаю его в /server/rpc/demo.js, но это приводит к этой ошибке:
ReferenceError: ss не определено
Имейте в виду, я не помещаю код в блок export.actions; Я считаю, что это только для клиентских вызовов RPC.
Я попытался установить ss в верхней части файла:
ss = require('socketstream');
но это должно быть не так - теперь метод publish.all не существует.
Я попытался поместить код внизу app.js, сразу после вызова ss.start. Опять же, это говорит о том, что метод publish.all не существует (может быть, пока клиент не подключен?). Я потерялся. Любая помощь приветствуется; надеюсь, это было ясно.