3月 192013
RocketIOではevent_emitterという(node.jsのを参考にして作った)イベント管理機構を使っている(Ruby用、JavaScript用)
event_emitterの全てのイベントを取得する手段がある
Ruby
user.on :* do |event_name, args|
puts event_name # 呼び出されたイベント名
p args
end
JavaScript
user.on('*', function(event_name, data){
console.log(event_name + ' was called');
console.log(data);
});
RocketIOでも、これを使っているので
Sinatra::RocketIO.on :* do |event_name, args|とするとサーバー側で起こったイベント全部取れるし
puts "#{event_name} - #{args.inspect}"
end
var io = new RocketIO().connect();これでクライアント側のイベント全部取れる。
io.on("*", function(event_name, args){
console.log(event_name);
console.log(args);
});
関係ないクライアントにデータ送信してるかも、とか、余計なイベント送ってるかも等の調査に便利。