微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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的块中做任何你喜欢的事情.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐