クライアントrpc呼び出しとは独立して動作するnode.js/socketstreamサーバー側のコードを実装する場所と方法を正確に理解しようとしています。Socketstream(0.3)サーバー側のコードの混乱
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関数はどこに配置/実行しますか?ドキュメントは/サーバー/ rpcのツリーを示唆ので、私は/server/rpc/demo.jsにそれを置くが、それはこのエラーを得られます。
にReferenceError:SSが
マインドあなたを定義されていない、私は入れていませんよexport.actionsブロック内のコード。私はそれがクライアントのRPC呼び出しのためだけだと考えています。
私は、ファイルの先頭にSSを設定してみました:
ss = require('socketstream');
が、それはお奨めは間違っているのです - 今「publish.all」メソッドは存在しません。
ss.start呼び出しの直後に、app.jsの最後にコードを挿入しようとしました。もう一度、publish.allメソッドは存在しません(クライアントが接続されるまではないかもしれません)。道に迷いました。どんな助けもありがたい。これがはっきりしたことを願う
Owenに感謝します。私は答えがこのようなものであることを期待していました。おそらく間違ったフォローアップ - 私はcoffeescriptでプロジェクトに取り掛かるつもりだと思う。 app.jsは明らかにss cs <> js link/compile ecosystemの外にあります。推奨されるワークフロー私はちょうどサーバーのAPIツリー内に別のモジュールを構築して、何とかそれを必要とするでしょうか? – jlabrie
こんにちは。確かにそれを(私は)行うことができます、またはapp.coffeeにapp.jsを変更し、 'コーヒーapp.coffee'であなたのアプリを起動します。個人的に私は最初の選択肢を好みます。 – socketstream