2015-09-18 5 views
5

В моем приложении rails используется камень ActionCable, настроенный как приложение для чата с одним каналом.ActionCable Continuous Connect/Disconnect Loop

Событие закрытия продолжает называться, а затем возобновляется непрерывно. Мой сервер 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

У меня была аналогичная проблема, мне показалось, что это огромная сборка мусора, которая займет более 8 секунд или более, заставляя клиента пропустить пинг. Я запускал версию firefox dev, и оказалось, что там была утечка памяти, где firefox потреблял 8 гб памяти. – timthez

+0

Вы когда-нибудь выясняли, что с этим случилось? У меня тоже такая проблема. –

ответ

-1

Im испытывает эту же проблему, и я узнал, что это связано с сообщениями ping, которые сервер должен отправить клиенту. На моем конце клиент не получает их, но он успешно подключен к сообщению канала X.

Edit: @vanboom пожалуйста, проверьте, если вы ссылаетесь actioncable в вашем Gemfile так:

gem 'actioncable', github: "rails/actioncable", branch: 'archive' 
0

Убедитесь, что вы используете сервер, кроме тонкой. У меня была эта проблема, и я постучал головой о клавиатуру в течение 3 дней, пока не попробовал другой сервер (puma), и смог решить мою проблему. https://github.com/puma/puma

 Смежные вопросы

  • Нет связанных вопросов^_^