三沣开发知识 购物 网址 游戏 小说 歌词 地图 快照 开发 股票 美女 新闻 笑话 | 汉字 软件 日历 阅读 下载 图书馆 编程 China
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
vbs/VBScript DOS/BAT hta htc python perl 游戏相关 VBA 远程脚本 ColdFusion ruby专题
autoit seraphzone PowerShell linux shell Lua Golang Erlang 其它教程 CSS/HTML/Xhtml
html5 CSS XML/XSLT Dreamweaver教程 经验交流 开发者乐园 Android开发资料
站长资讯 .NET新手 ASP.NET C# WinForm Silverlight WCF CLR WPF XNA VisualStudio ASP.NET-MVC .NET控件开发 EntityFramework WinRT-Metro Java C++ PHP Delphi Python Ruby C语言 Erlang Go Swift Scala R语言 Verilog 其它语言 架构设计 面向对象 设计模式 领域驱动 Html-Css JavaScript jQuery HTML5 SharePoint GIS技术 SAP OracleERP DynamicsCRM K2 BPM 信息安全 企业信息 Android开发 iOS开发 WindowsPhone WindowsMobile 其他手机 敏捷开发 项目管理 软件工程 SQLServer Oracle MySQL NoSQL 其它数据库 Windows7 WindowsServer Linux
  IT知识库 -> Ruby -> Ruby Web实时消息后台服务器推送技术 -> 正文阅读
 

[Ruby]Ruby Web实时消息后台服务器推送技术

Ruby Web实时消息后台服务器推送技术 越来越多的项目需要用到实时消息的推送与接收,怎样用Ruby实现最方便呢?我这里推荐大家使用GoEasy, 它是一款第三方推送服务平台,使用它的API可以轻松搞定实时推送!
浏览器兼容性:GoEasy推送 支持websocket 和polling两种连接方式,从而可以支持IE6及其以上的所有版本,同时还支持其它浏览器诸如Firefox, Chrome, Safari等等。
支持不同的开发语言:    GoEasy推送 提供了Restful API接口,无论你的后台程序用的是哪种语言都可以通过Restful API来实现后台实时推送。如:Java,PHP, C#, Ruby, Python, C, C++, ASP.NET,Node.js...
支持后台及前台推送: 后台用Restful API, 前台用goeasy.js; 运用十分简单!
Ruby Web实时消息后台服务器推送技术-GoEasy
下面我介绍一下使用GoEasy的步骤:
1. 你需要到goeasy官网上注册一个账号,并创建一个应用,应用创建好后系统会默认为它生成两个key: publish key和subscribe key
2. 前台实时订阅及接收
    只需要引入goeasy.js,然后调用goeasy的subscribe方法订阅一个channel即可,订阅时无论是用publish key还是subscribe key都可以。通过subscribe的参数 onMessage的回调函数可以实时接收到消息。
3. 前台实时推送
    还是需要引入goeasy.js(如果该页面已经引入了可不在引入),然后调用goeasy的publish方法向已订阅的channel上推送消息即可,推送时只能用publish key。
4. 后台实时推送
     调用GoEasy Restful API, 用post方式访问http://goeasy.io/goeasy/publish, 同时还需要带上三个必要参数:
    appkey: publish key
    channel: 你订阅了的channel
   content: 推送内容
就是这么简单。
下面我将之前写的一个小实例贴出来,里面用了Javascript 在web页面进行订阅,推送,接收,以及取消订阅的例子,里面的appkey用的是goeasy官方的demo 的appkey.

    <html>  
    <head>  
    <title>GoEasy Test</title>  
      
    <script type="text/javascript" src="https://cdn.goeasy.io/goeasy.js"></script>  
    <script type="text/javascript">  
        if(typeof GoEasy !== 'undefined'){  
            var goEasy = new GoEasy({  
                appkey: 'ba821151-e043-4dfb-a954-c73744c8d323',  
                userId:"222",  
                username:"22",  
                onConnected:function(){  
                    console.log("Connect to GoEasy success.");  
                } ,  
                onDisconnected:function(){  
                    console.log("Disconnect to GoEasy server.");  
                } ,  
                onConnectFailed:function(error){  
                    console.log("Connect to GoEasy failed, error code: "+ error.code+" Error message: "+ error.content);  
                }  
            });  
        }  
                  
        subscribe();  
        function subscribe(){  
                 goEasy.subscribe({  
                    channel: 'notification',  
                    onMessage: function(message){  
                        console.log('Meessage received:'+message.content);  
                    },  
                    onSuccess:function(){  
      
                        console.log("Subscribe the Channel successfully.");  
      
                    },  
      
                    onFailed: function(error){  
      
                        console.log("Subscribe the Channel failed, error code: "+ error.code + " error message: "+ error.content);  
      
                    }  
      
                });  
      
        }  
                  
         function publishMessage(){  
              goEasy.publish({  
                    channel: 'notification',  
                    message: 'You received a new notification',  
                    onSuccess:function(){  
      
                        console.log("Publish message success.");  
      
                    },  
                    onFailed: function(error){  
      
                        console.log("Publish message failed, error code: "+ error.code +" Error message: "+ error.content);  
      
                    }  
                });  
           
         }  
                        
         function unsubscribe(){  
                    goEasy.unsubscribe({  
                        channel:"notification",  
                        onSuccess: function(){  
      
                            console.log("Cancel Subscription successfully.");  
      
                        },  
                        onFailed: function(error){  
      
                            console.log("Cancel the subscrition failed, error code: "+ error.code + "error message: "+ error.content);  
                        }  
      
                    });  
                }  
              
     </script>  
    </head>  
    <body>  
      <input type="button" value="publish" onclick="publishMessage()"/>  
      <input type="button" value="unsubscribe" onclick="unsubscribe()"/>  
      <input type="button" value="subscribe" onclick="subscribe()"/>  
    </body>  
    </html>  

  Ruby 最新文章
Ruby基础教程
python 字符串和列表、字典的转换
【夯实Ruby基础】Ruby快速入门
总结:Ruby里是值传递还是引用传递
学习笔记TF042:TF.Learn、分布式Estimator、
GitLab Development Kit 环境搭建
GitLab Development Kit 环境搭建
day5模块学习
Ruby On Rails环境搭建
Ruby 面向对象知识详解
上一篇文章      下一篇文章      查看所有文章
加:2016-11-03 20:46:36  更:2017-05-16 00:31:58 
 
技术频道: 站长资讯 .NET新手区 ASP.NET C# WinForm Silverlight WCF CLR WPF XNA Visual Studio ASP.NET MVC .NET控件开发 Entity Framework WinRT/Metro Java C++ PHP Delphi Python Ruby C语言 Erlang Go Swift Scala R语言 Verilog 其它语言 架构设计 面向对象 设计模式 领域驱动设计 Html/Css JavaScript jQuery HTML5 SharePoint GIS技术 SAP Oracle ERP Dynamics CRM K2 BPM 信息安全 企业信息化其他 Android开发 iOS开发 Windows Phone Windows Mobile 其他手机开发 敏捷开发 项目与团队管理 软件工程其他 SQL Server Oracle MySQL NoSQL 其它数据库 Windows 7 Windows Server Linux
脚本语言: vbs/VBScript DOS/BAT hta htc python perl 游戏相关 VBA 远程脚本 ColdFusion ruby专题 autoit seraphzone PowerShell linux shell Lua Golang Erlang 其它教程
网站开发: CSS/HTML/Xhtml html5 CSS XML/XSLT Dreamweaver教程 经验交流 开发者乐园 Android开发资料
360图书馆 软件开发资料 文字转语音 购物精选 软件下载 美食菜谱 新闻资讯 电影视频 小游戏 Chinese Culture 股票 租车
生肖星座 三丰软件 视频 开发 短信 中国文化 网文精选 搜图网 美图 阅读网 多播 租车 短信 看图 日历 万年历 2018年7日历
2018-7-22 22:40:39
多播视频美女直播
↓电视,电影,美女直播,迅雷资源↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT知识库