Websocket-rails не запускает сообщение на канал (автономно, синхронизировано)

Я пытаюсь использовать websocket-rails (автономно, синхронизировано с redis на local.host:3245) с моим Rails Grape API (работает на local.host:3001)

Теперь я пытаюсь отправить сообщения на канал A с одной из моих конечных точек Grape API, используя, например:

WebsocketRails[:a_channel].trigger('welcome_message', 'Hello world!')

Затем в моем клиенте rails (работающем на local.host:3005) я пытаюсь получить сообщение и показать его в браузере. С помощью клиента WebsocketRails JS я могу подключиться к серверу. Подпишитесь на канал и привяжите к событию, предлагаемому в вики:

var dispatcher = new WebSocketRails('local.host:3245/websocket');
var channel = dispatcher.subscribe('a_channel');
channel.bind('welcome_message', function(data) {
  console.log('channel event received: ' + data);
});

Однако в моем console.log ничего не отображается, но когда я смотрю на websocket_rails.log, я вижу:

[2015-08-18 10:03:23.184] [[32mChannel[0m] [a_channel] {"welcome_message"=>"Hello world!"}

Когда я смотрю на Redis с помощью redis-cli monitor Я не вижу ключи websocket_rails (по крайней мере, я предполагаю, что они должны быть там...), а также в моем

chrome developer environment --> websockets --> headers Я вижу пинг / понг между клиентом и сервером, но все переменные пусты.

Я не использую маршруты WebsocketControllers или events.rb, не так ли? основываясь на этой вики-странице, я предположил, что мне не нужно.. Кроме того, я скорее не использую контроллеры, а просто храню все в моих файлах Grape из-за версий API.

У кого-нибудь есть предложения / идеи как решить эту проблему?

Заранее спасибо!

Замечания:

  • Рельсы 4.2.3
  • Ruby 2.1.0
  • API-сервер работает на Unicorn
  • клиент rails работает на Thin

0 ответов

Другие вопросы по тегам