faye 如何push json数据到客户端?

来源:互联网 发布:华为数据存储解决方案 编辑:程序博客网 时间:2024/04/28 19:45

前一篇文章,简单的介绍了faye push js到web端执行的情况,但是大部分的场景,faye都是push json 数据到client比较合适。比如与Android, IPhone等手机客户端通信,JSON数据能合适更多情况。

如下,是我写的一个Faye Push JSON数据到客户端的类

###提供faye server的服务,发送消息, 生成频道#module FayeServer  class Common    def self.faye_url      "http://#{FayeConfig["server"]}:#{FayeConfig["port"]}/#{FayeConfig["name"]}"    end  end  class Push    ##    #负责发送json数据到服务器, ext是增加额外的参数,比如认证token    #    def self.broadcast(channel, data)      faye_url = FayeServer::Common.faye_url      #message = {:channel => channel, :data => data, :ext => {:auth_token => FAYE_TOKEN} }      message = {:channel => channel, :data => data }      uri = URI.parse(faye_url)      Net::HTTP.post_form(uri, :message => message.to_json)    end  endend

faye的配置参数文件  faye_config.yml
defaults: &defaults  server: 192.168.1.126  port: 9292  name: diaodudevelopment:  <<: *defaultsproduction:  <<: *defaultstest:  <<: *defaults

initializers/init.rb
#fayeFayeConfig = YAML.load_file(File.join(Rails.root, "config", "faye_config.yml"))[Rails.env]FAYE_TOKEN = "fwef0afn3pjrp32"


使用:
FayeServer::Push.broadcast(channel, data)



原创粉丝点击