1

私は'threadsocket-rails'websocket-rails gem のブランチとメモリサイズ 30MB の heroku の RedisCloud サービスを使用しています (リンク: 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]})
4

0 に答える 0