我的rails应用程序正在使用ActionCable gem,配置为具有一个通道的简单聊天应用程序。
关闭事件不断被调用,然后不断重新打开。我的Rails服务器正在正确地看到连接;循环发生在浏览器/ Javascript中。
Connection.prototype.events = {
message: function(event) {
var identifier, message, ref;
ref = JSON.parse(event.data), identifier = ref.identifier, message = ref.message;
return this.consumer.subscriptions.notify(identifier, "received", message);
},
open: function() {
this.disconnected = false;
return this.consumer.subscriptions.reload();
},
close: function() {
return this.disconnect();
},
error: function() {
return this.disconnect();
}
};
有没有人遇到过这个问题?
答案 0 :(得分:1)
确保您使用的是瘦身以外的服务器。我有这个问题,并且在我的键盘上撞了3天,直到尝试使用不同的服务器(puma)并且能够解决我的问题。 https://github.com/puma/puma
答案 1 :(得分:-1)
我遇到了同样的问题,我发现这与服务器预期发送给客户端的ping消息有关。在我的最后,客户端没有收到它们,但它已成功接收到连接到X通道的消息。
编辑: @vanboom请检查您是否在gem文件中引用actioncable,如下所示:
gem 'actioncable', github: "rails/actioncable", branch: 'archive'