Ошибка Redis на websocket-rails при отправке события определенному клиенту

Я использую 'threadsocket-rails'ветка гемов websocket-rails и сервиса Herois RedisCloud с объемом памяти 30 МБ (ссылка: https://elements.heroku.com/addons/rediscloud)

В моей конфигурации я включил синхронизацию канала и установил redis_options как:

config.redis_options = { :host => APP_CONFIG['REDIS_CLOUD_HOST'],
                            :port => APP_CONFIG['REDIS_CLOUD_PORT'],
                            :password => APP_CONFIG['REDIS_CLOUD_PASSWORD']}

Когда устройства под управлением Android или ios запускают событие, они получают этот пустой хэш (когда я использую redis):

["add_to_channel",{},{"id":null,"channel":null,"user_id":null,"success":false,"result":null,"token":null,"server_token":null}]

Я также получаю эту ошибку:

 NameError Exception: undefined local variable or method `sync' for #<WebsocketRails::UserManager::LocalConnection:0x007fe271873c18>

В противном случае они получают правильный ответ ("message":"user join new channel"):

["add_to_channel",{"message":"user join new channel"},{"id":null,"channel":null,"user_id":null,"success":false,"result":null,"token":null,"server_token":null}]

Я использую этот код для отправки события конкретному клиенту:

WebsocketRails.users[recipient_id].send_message('add_to_channel', {:message => message[:body]})

0 ответов

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