2013-08-17 4 views
17

Я использую драгоценный камень «faye» с Rails 3.2.13. В разработке я запускаю faye на localhost: 9292 и мое приложение на localhost: 3000. Я могу активировать всплывающие окна с запросом на завивки из командной строки, но я не могу установить соединение из своего приложения. Ошибка я получаю в моей консоли:Отсутствует заголовок веб-обозревателя

WebSocket подключение к «WS: // локальный: 9292/Фей» не удалось: Ошибка при WebSocket рукопожатия: «Обновление» заголовок отсутствует

Я пытаюсь определить заголовок Фей в моем application.js файла:

$(function() { 
    var faye = new Faye.Client("http://localhost:9292/faye"); 
    faye.setHeader("Access-Control-Allow-Origin", "http://localhost:3000"); 
    faye.subscribe('/messages', function (data) { 
    alert(data); 
    }); 
}); 

это правильный способ добавить заголовок?

Я нашел обсуждение аналогичной проблемы здесь: https://github.com/faye/faye/issues/222 В этом случае ошибка, казалось, была связана с невыполнением настроек ssl. Я проверил каталог lib в стойке и нашел

def ssl? 
    scheme == 'https' 
end 

Это кажется прекрасным. Как узнать, правильно ли загружены настройки?

Любые подсказки о том, где искать следующий, будут очень признательны.

+0

Было ли это из после railscast? У меня такая же проблема. –

ответ

35

Я была такая же проблема, следуя railscast Райан Бейтса: http://railscasts.com/episodes/260-messaging-with-faye

Сервер веб-сокет Фей требуется адаптер для запуска на тонких веб-сервер и посылает заголовок обновления.

Добавить эту строку в Faye rackup (.ru) файл:

Faye::WebSocket.load_adapter('thin')

Я нашел решение здесь: https://github.com/ryanb/private_pub/issues/39#issuecomment-4225647

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