加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-17 03:54:07 所属栏目:百科 来源:网络整理
导读:我正在尝试使用Faye与Rails建立一个简单的聊天室,并将其托管在heroku上.到目前为止,我能够让Faye服务器运行,并获得即时消息.我正在使用的关键代码行是: 页面加载时启动的Javascript文件: $(function() { var faye = new Faye.Client( My Feye server on He
我正在尝试使用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的块中做任何你喜欢的事情.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读