ruby-on-rails – 如何知道用户何时与Faye频道断开连接?

我正在尝试使用Faye与Rails建立一个简单的聊天室,并将其托管在heroku上.到目前为止,我能够让Faye服务器运行,并获得即时消息.我正在使用的关键代码行是:

页面加载时启动的Javascript文件

$(function() {
  var faye = new Faye.Client(<< My Feye server on Heoku here >>);
  faye.subscribe("/messages/new",function(data) {
    eval(data);
  });
});

create.js.erb,在用户发送消息时触发

<% broadcast "/messages/new" do %>
  $("#chat").append("<%= j render(@message) %>");
<% end %>

一切正常,但现在我想在用户断开聊天时通知.我该怎么做?

我已经查看了Faye’s website about monitoring,但目前还不清楚我应该把代码放在哪里.

解决方法

事件监视会进入您的rackup文件.这是我在制作中使用的一个例子:

Faye::WebSocket.load_adapter('thin')
server = Faye::RackAdapter.new(mount: '/faye',timeout: 25)

server.bind(:disconnect) do |client_id|
  puts "Client #{client_id} disconnected"
end

run server

当然,你可以在传递给#bind的块中做任何你喜欢的事情.

相关文章

validates:conclusion,:presence=>true,:inclusion=>{...
一、redis集群搭建redis3.0以前,提供了Sentinel工具来监控各...
分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣...
上一篇博文 ruby传参之引用类型 里边定义了一个方法名 mo...
一编程与编程语言 什么是编程语言? 能够被计算机所识别的表...
Ruby类和对象Ruby是一种完美的面向对象编程语言。面向对象编...